日期:2014-05-16  浏览次数:20335 次

js 如何将时间转换成时间戳

如果只是将当前时间转成时间戳,可以直接使用new Date().getTime();但如果是将某个具体时间转成时间戳,ie不支持像new Date(“2013-1-1”)  这样带参数的方法,将返回NaN

对此,我写了以下函数,兼容ie6+,谷歌,火狐等浏览器:

function getTime(day){
	re = /(\d{4})(?:-(\d{1,2})(?:-(\d{1,2}))?)?(?:\s+(\d{1,2}):(\d{1,2}):(\d{1,2}))?/.exec(day);
	return new Date(re[1],(re[2]||1)-1,re[3]||1,re[4]||0,re[5]||0,re[6]||0).getTime();
}

//test
alert(getTime("2013-02-03 10:10:10"));
alert(getTime("2013-02-03"));
alert(getTime("2013-02"));
alert(getTime("2013"));