在JavaScript中将日期转换成时间戳
之前我曾经讨论过使用PHP将日期从日期转换为时间,但是在JavaScript中做同样的事情呢?
要使用JavaScript获取Unix时间戳,您需要使用getTime()内置Date对象的功能。由于这将返回毫秒数,因此我们必须将数字除以1000并四舍五入,以便获得以秒为单位的时间戳。
Math.round(newDate().getTime()/1000);
要将日期转换为时间戳,我们需要使用UTC()Date对象的功能。此功能需要3个必需参数和4个可选参数。必需的3个参数依次是年,月和日。可选的4个参数是该时间的小时,分钟,秒和毫秒(按此顺序)。
要创建时间,请执行以下操作:
var datum = new Date(Date.UTC('2009','01','13','23','31','30')); return datum.getTime()/1000;
这会打印出1234567890作为时间戳。这是一个简化事情的函数:
function toTimestamp(year,month,day,hour,minute,second){ var datum = new Date(Date.UTC(year,month-1,day,hour,minute,second)); return datum.getTime()/1000; }
请注意,将月份相加时,您需要将值减去1。这是因为该函数需要一个介于0到11之间的月份值。但是,有一种使用parse()函数获取时间戳的简便方法。此函数返回以毫秒为单位的时间戳,因此我们需要将其除以1000以获得时间戳。
function toTimestamp(strDate){ var datum = Date.parse(strDate); return datum/1000; }
可以使用以下命令来运行它,而不是像这样写日期时日期必须是月/日。
alert(toTimestamp('02/13/200923:31:30'));
甚至这个:
alert(toTimestamp('2009021323:31:30'));