在Javascript中,如何将日期对象转换为纪元时间戳?

时间:2011-12-07 07:54:10

标签: javascript datetime date

Wed, 07 Dec 2011 15:31:11 GMT

如果我有该日期对象,如何将其转换为unix时间戳(自纪元以来的秒数)?

3 个答案:

答案 0 :(得分:2)

var unixTimeStamp = (new Date('Wed, 07 Dec 2011 15:31:11 GMT')).getTime() / 1000;

答案 1 :(得分:1)

您可以使用

var dateString = "Wed, 07 Dec 2011 15:31:11 GMT";
var mSecondsSinceEpoch = Date(dateString).getTime(); 

以毫秒为单位返回UNIX纪元时间。你可以将'dateString'留空以获取当前时间。但是,当Date对象强制转换为数字时,它也将返回上述内容。因此

var mSecondsSinceEpoch = +Date(dateString) // milliseconds

var secondsSinceEpoch = (Date(dateString) / 1000) // seconds

也有效!有关Javascript Date对象的更多信息,请参阅https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

答案 2 :(得分:0)

您可以通过强制转换为数字来转换为时间戳,例如+date。但是,这将返回毫秒数。

要获得自纪元以来的秒数,您需要除以1000.由于除法已涉及数字,您可以消除+

Math.floor(date / 1000);   // 1000 ms = 1s