Javascript将人类时间转换为时间戳

Han*_*com 11 javascript date

使用javascript,如何将"人类时间"字符串如"Wed Jun 20 19:20:44 +0000 2012"转换为时间戳值"1338821992"?

Cha*_*had 19

只需Date从中创建一个对象并执行.getTime()或使用Date.parse():

var d = new Date("Wed Jun 20 19:20:44 +0000 2012");
d.getTime(); //returns 1340220044000

//OR

Date.parse("Wed Jun 20 19:20:44 +0000 2012"); //returns 1340220044000
Run Code Online (Sandbox Code Playgroud)

如果您的"人类时间"字符串采用Date构造函数理解的格式(您发布的示例是),则效果很好.


编辑

实现你可能意味着一个Unix时间戳,这是自纪元以来传递的秒数(不是像JS时间戳那样的ms).在这种情况下,只需将JS时间戳除以1000:

//if you want to truncate ms instead of rounding just use Math.floor()
Math.round(Date.parse("Wed Jun 20 19:20:44 +0000 2012") / 1000); //returns 1340220044
Run Code Online (Sandbox Code Playgroud)


Nie*_*sol 5

在理论上,与Date.parse().然而,在实践中,有数以千种不同的方式来表达日期和时间(其中最少的是不同语言的日/月的名称),更容易在其组成部分中获取日期而不是尝试阅读串.