为了账号安全,请及时绑定邮箱和手机立即绑定

如何在JavaScript中获得时间戳?

如何在JavaScript中获得时间戳?

白衣非少年 2019-06-09 15:37:54
如何在JavaScript中获得时间戳?如何在JavaScript中获得时间戳?类似于Unix的时间戳,即表示当前时间和日期的单个数字。无论是数字还是字符串。
查看完整描述

3 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

短短的和时髦的:

+ new Date()

一元运算符plus触发valueOf方法中的Date对象并返回时间戳(不作任何更改)。

详情:

在几乎所有当前浏览器上都可以使用Date.now()以获取UTC时间戳毫秒;一个值得注意的例外是IE8和更早版本(参见兼容性表).

不过,您可以很容易地为此做一个垫片:

if (!Date.now) {
    Date.now = function() { return new Date().getTime(); }}

获取时间戳秒数,您可以使用:

Math.floor(Date.now() / 1000)

或者你也可以使用:

Date.now() / 1000 | 0

它应该稍微快一点,但也不容易读(见这个答案).

我建议用Date.now()(具有兼容性垫片)。它稍微好一点,因为它更短&不会产生新的Date对象。但是,如果您不希望获得SIM&最大的兼容性,则可以使用“old”方法来获取时间戳毫秒:

new Date().getTime()

然后,您可以将其转换为如下所示的秒:

Math.round(new Date().getTime()/1000)

还可以使用valueOf我们在上面展示的方法:

new Date().valueOf()

时间戳(毫秒)

var timeStampInMs = window.performance && window.performance.now && window.performance.timing && window.performance.timing.navigationStart ? window.performance.now() + window.performance.timing.navigationStart : Date.now();


console.log(timeStampInMs, Date.now());


查看完整回答
反对 回复 2019-06-09
?
米脂

TA贡献1836条经验 获得超3个赞

我喜欢这个,因为它很小:

+new Date

我也喜欢这个,因为它很短,而且和现代浏览器兼容,超过500人投票认为它更好:

Date.now()


查看完整回答
反对 回复 2019-06-09
?
LEATH

TA贡献1936条经验 获得超6个赞

JavaScript使用的是自那个时代以来的毫秒数,而大多数其他语言的工作时间是秒。您可以使用毫秒,但是一旦传递一个值,比如PHP,PHP本机函数可能会失败。所以,为了确保我总是用秒,而不是毫秒。

这将给您一个Unix时间戳(以秒为单位):

var unix = Math.round(+new Date()/1000);

这将给您自时代(而不是Unix时间戳)以来的毫秒时间:

var milliseconds = new Date().getTime();


查看完整回答
反对 回复 2019-06-09
  • 3 回答
  • 0 关注
  • 698 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信