自Javascript中的unix时代以来,如何以毫秒为单位获取时间? [复制]

Posted

技术标签:

【中文标题】自Javascript中的unix时代以来,如何以毫秒为单位获取时间? [复制]【英文标题】:How to get time in milliseconds since the unix epoch in Javascript? [duplicate] 【发布时间】:2012-03-23 11:08:57 【问题描述】:

可能重复:How do you get a timestamp in javascript?Calculating milliseconds from epoch

如何在 Javascript 中获取当前的 epoch 时间?基本上是自 1970-01-01 午夜以来的毫秒数。

【问题讨论】:

请注意,这个问题(以及一些重复问题)要求自纪元以来的毫秒数。虽然 JavaScript 为您提供了这一点,但请注意,标准 Unix 纪元通常以秒为单位(您从 JS 获得的值的 1/1000)。 new Date/1E3|0 - 实例化 Date,强制转换为数字,除以 1000 和下限。 @CamiloMartin 你应该写一个答案。这是最好的。 @贾斯汀谢谢!但请注意,自从我写了那篇文章以来,IE8 已经成为那种你可能已经准备好对它说“不”的浏览器了。如果您准备放弃 IE8 支持,请使用:Date.now()(否则很容易调整)。 【参考方案1】:

这样就可以了:-

new Date().valueOf() 

【讨论】:

你弄错括号了吗?查看来自 MarkHu 的(已拒绝)edit suggestion。 不,它正在工作;你可以查看this great answer解释原因。顺便说一句,这个表达式可以简化为 +new Date - 出于同样的原因。 这会在你需要做 (new DateTime)->format('U')php 中炸毁,但没有括号 js 是可以的【参考方案2】:

Date.now() 返回一个以毫秒为单位的 unix 时间戳

const now = Date.now(); // Unix timestamp in milliseconds
console.log( now );

在 ECMAScript5(即 Internet Explorer 8 和更早版本)之前,您需要构造一个 Date 对象,有多种方法可以从中获取以毫秒为单位的 unix 时间戳:

console.log( +new Date );
console.log( (new Date).getTime() );
console.log( (new Date).valueOf() );

【讨论】:

已经搜索了半个小时..围绕这条简单的线有很多错误信息.. 对于没有毫秒的完美 Unix 时间戳,请执行以下操作: var milliseconds = Math.floor((new Date).getTime()/1000); @RaySuelzer 它根据运行机器的系统时钟获取时间,所以它完全取决于它。 @grenoult 这在 Javascript 中的含义相同。将参数传递给构造函数时只需要括号。 ((new Date())new Date()(new Date) 在这种情况下都可以使用。使用你认为最易读的那个。 Date.now() developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

以上是关于自Javascript中的unix时代以来,如何以毫秒为单位获取时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

为啥我需要在 JavaScript 中将 unix 时间戳乘以 1000?

如何在 Python 中将日期时间对象转换为自纪元(unix 时间)以来的毫秒数?

如何将自纪元以来的 Unix 时间/时间转换为标准日期和时间?

以微秒精度压缩 unix 时间戳

自unix时间戳以来是不是有一种流行的显示时间的方法?

从 CalendarView 获取自 UNIX 纪元以来的 Millis 时间