首页 > 建站教程 > CSS3+HTML5 >  js new Date() 日期处理方法总结正文

js new Date() 日期处理方法总结

new Date()返回一个日期对象,可以通过这个日期对象处理js中的日期。

语法格式:
new Date( year, month, date, hrs, min, sec) //按给定的参数创建一日期对象,参数为空返回当前日期
例如:
new Date() ;     //参数可以为整数; 也可以为字符串; 但格式必须正确  
new Date(2009,1,1);       //正确  
new Date("2009/1/1");    //正确  
new Date("2009-1-1");    //错误
参数说明:  
  year的值为:需设定的年份-1900。例如需设定的年份是1997则year的值应为97,即1997-1900的结果。所以Date中可设定的年份最小为1900;  
  month的值域为0~11,0代表1月,11表代表12月;  
  date的值域在1~31之间;  
  hrs的值域在0~23之间。从午夜到次日凌晨1点间hrs=0,从中午到下午1点间hrs=12;  
  min和sec的值域在0~59之间。  

  例:
Date day=new Date(11,3,4);  
//day中的时间为:04-Apr-11 12:00:00 AM  
    另外,还可以给出不正确的参数。  
    例:设定时间为1910年2月30日,它将被解释成3月2日。
Date day=new Date(10,1,30,10,12,34);  
System.out.println("Day's date is:"+day);  
//打印结果为:Day's date is:Web Mar 02 10:13:34 GMT+08:00 1910
new Date()获取年月日等:
var myDate = new Date();  
myDate.getYear(); //获取当前年份(2位)  
myDate.getFullYear(); //获取完整的年份(4位,1970-????)  
myDate.getMonth(); //获取当前月份(0-11,0代表1月)         // 所以获取当前月份是myDate.getMonth()+1;   
myDate.getDate(); //获取当前日(1-31)  
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)  
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)  
myDate.getHours(); //获取当前小时数(0-23)  
myDate.getMinutes(); //获取当前分钟数(0-59)  
myDate.getSeconds(); //获取当前秒数(0-59)  
myDate.getMilliseconds(); //获取当前毫秒数(0-999)  
myDate.toLocaleDateString(); //获取当前日期  
var mytime=myDate.toLocaleTimeString(); //获取当前时间  
myDate.toLocaleString( ); //获取日期与时间
JS获取当前时间戳的方法:
var timestamp =Date.parse(new Date());    结果:1280977330000       //不推荐; 毫秒改成了000显示
var timestamp =(new Date()).valueOf();       结果:1280977330748       //推荐;
var timestamp=new Date().getTime();         结果:1280977330748        //推荐;
    js中单独调用new Date();  显示这种格式  Mar 31 10:10:43 UTC+0800 2012
    但是用new Date() 参与计算会自动转换为从1970.1.1开始的毫秒数  

将字符串形式的日期转换成日期对象
var strTime="2011-04-16";    //字符串日期格式             
var date= new Date(Date.parse(strTime.replace(/-/g,  "/")));      //转换成Data();  
日期格式转为日期标准字符串:2015-03-19
var formatDate = function (date) {  
    var y = date.getFullYear();
    var m = date.getMonth() + 1;
    m = m < 10 ? '0' + m : m;
    var d = date.getDate();
    d = d < 10 ? ('0' + d) : d;
    return y + '-' + m + '-' + d;
};  
js方法返回值:2015-03-19 12:00:00
var formatDateTime = function (date) {  
    var y = date.getFullYear();  
    var m = date.getMonth() + 1;  
    m = m < 10 ? ('0' + m) : m;  
    var d = date.getDate();  
    d = d < 10 ? ('0' + d) : d;  
    var h = date.getHours();  
    h=h < 10 ? ('0' + h) : h;  
    var minute = date.getMinutes();  
    minute = minute < 10 ? ('0' + minute) : minute;  
    var second=date.getSeconds();  
    second=second < 10 ? ('0' + second) : second;  
    return y + '-' + m + '-' + d+' '+h+':'+minute+':'+second;  
};  
    调用:
formatDate(Date())
时间戳转为日期格式
//时间戳转日期格式  
var formatDateTime3 = function(time, format){  
  var t = new Date(time);  
  var tf = function(i){return (i < 10 ? '0' : '') + i};  
  return format.replace(/yyyy|MM|dd|HH|mm|ss/g, function(a){  
      switch(a){  
          case 'yyyy':  
              return tf(t.getFullYear());  
              break;  
          case 'MM':  
              return tf(t.getMonth() + 1);  
              break;  
          case 'mm':  
              return tf(t.getMinutes());  
              break;  
          case 'dd':  
              return tf(t.getDate());  
              break;  
          case 'HH':  
              return tf(t.getHours());  
              break;  
          case 'ss':  
              return tf(t.getSeconds());  
              break;  
      }  
  })  
};  
时间格式字符串转为时间戳(毫秒)
var time1=‘2016-01-01 17:22:37’;  
var date=new Date(time1.replace(/-/g, '/'));  //开始时间  
var time2=date.getTime();
如何将2015-03-12 12:00 转换成标准时间格式:
// 调用:parserDate("2015-03-19 12::00:00")
var parserDate = function (date) {  
    var t = Date.parse(date);  
    if (!isNaN(t)) {  
        return new Date(Date.parse(date.replace(/-/g, "/")));  
    } else {  
        return new Date();  
    }  
};