将时间转换为毫秒数的方法有四个:
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 |