前端工作总结262-时间戳转换问题
将时间转换为毫秒数的方法有四个:
Date.parse()
Date.UTC
valueOf()
getTime()
1. Date.parse():该方法接受一个表示日期的字符串参数,然后尝试根据这个日期返回日期的毫秒数。ECMA-262没有定义该方法支持哪种日期格式,因此这个方法的行为因为浏览器实现而异。如果传入字符串不能表示日期,那么它会返回NaN。该方法返回的毫秒值后三位全为0,精确到秒数,没有毫秒数。
Date.parse( "2012年9月9日" )
NaN
Date.parse( "2012 9 9" )
1347120000000
// 毫秒数转换为日期格式
new Date(Date.parse( "2012 9 9" ))
Sun Sep 09 2012 00:00:00 GMT+0800 (中国标准时间)
2. Date.UTC(): 该方法也返回表示日期的毫秒数,但是该方法接受的参数是年份、基于0的月份、月份中的哪一天、小时数、分钟、秒以及毫秒。这些参数中只有前两个参数是必需的。
Date.UTC(12)
NaN
Date.UTC(2013,4,11);
1368230400000
3. valueOf(): 该方法返回日期的毫秒表示,可以方便时间的比较,该方法返回的毫秒数精确到毫秒。
var date = new Date();
date.valueOf();
1368283579633
4. getTime(): 返回表示日期的毫秒数,与valueOf()返回的值相同,也精确到毫秒数。
var date = new Date();
date.getTime();
1368283691951