自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 时间)以来的毫秒数?