javascript提供了Date对象来进行时间和日期的计算。使用时先创建实例,然后用“实例.成员函数”的形式。
Date对象的创建有多种构造函数:
1、dateObj=new Date() //当前时间
2、dateObj=new Date(milliseconds) //距离起始时间1970年1月1日的毫秒数
3、dateObj=new Date(datestring) //字符串代表的日期与时间。比如"2012-12-21"、"Jannuary 1, 1998 20:13:15"
4、dateObj=new Date(year, month-1, day, hours, minutes, seconds, microseconds) //参数可以不写全,不写则默认为0。Js的月份数值,一月用0表示,所以此处减一再传入。如果输入值超出合理范围,函数会自动折算。
下面是Date对象的成员函数
获取类成员函数:
getDate() 函数 -- 返回日值(1-31)
getDay()函数 -- 返回星期值(0-6,其中周日为0)
getFullYear() 函数 -- 返回四位数年份值
getHours()函数 -- 返回小时值(0-23)
getMilliseconds() 函数 -- 返回时间date对象的当前毫秒值(0-999)
getMinutes() 函数 -- 返回分钟值(0-59)
getMonth() 函数 -- 返回月份值(0-11)
getSeconds() 函数 -- 返回秒值(0-59)
getTime() 函数 -- 返回1970年1月1日零点以来的毫秒数,即毫秒时间戳。是UTC数值。
getYear() 函数 -- 返回年份值(真实年份减去1900)
计算两个日期时间的差:
d1=new Date(y1,m1-1,d1);
d2=new Date(y2,m2-1,d2);
相差天数:(d2.getTime()-d1.getTime())/86400000;
时间日期加减某个数值
先用获取类成员函数获取分量,加上数值后,再调用相应的设置类成员函数即可。数值若超出范围,会自动调整。
转化类成员函数:
toLocaleString() 函数 -- 返回本地时间字符串表示
toLocaleDateString函数 -- 返回日期部分的本地时间字符串
toLocaleTimeString函数 -- 返回时间部分的本地时间字符串
示例:toLocaleTimeString("zh",{hour12: false}),显示12进制时间
以下几个成员函数返回utc时间:
toString()
toDateString()
toTimeString()
日期解析函数Date.parse比如:
var ms=Date.parse("Jul 8, 2005")
解析一个日期的字符串,并返回该日期距1970年1月1日午夜以来的毫秒数
console.time和console.timeEnd
console.time和console.timeEnd是用来测试一段js代码执行时间的。比如:
console.time('tag');
//需计时的代码段
console.timeEnd('tag');
此二函数只能输出到控制台。
performance.now()
测试执行时间
t0 = performance.now();
//执行代码
console.log(performance.now()- t0);
此函数取时精度较高。但老的浏览器可能不支持。
Date.now
也可以使用Date.now()来计时,兼容性好一些,但测试在ie8上还是不行。如果使用new Date().getTime()则无兼容性问题。