在JavaScript中将Date.now()转换为毫秒

Sta*_*hil 4 javascript

做一些看似显而易见的事情我遇到了很多麻烦.我有个约会:

Date.now()
Run Code Online (Sandbox Code Playgroud)

我希望它能在几毫秒之内完成.我无法让它发挥作用.我试过了:

Date.now().getTime();
(Date.now()).getTime();
Date.now().getMilliseconds();
(Date.now()).getMilliseconds();

var date = Date.now();
var ms = date.getTime();
var ms = date.getMilliseconds();
Run Code Online (Sandbox Code Playgroud)

所有这些都失败了,因为显然getTime()getMilliseconds()(我认为这不是正确的方法)显然不是函数.

我在这做错了什么?

小智 6

你已经拥有了你想要的价值。

var numberOfMillisecondsSinceEpoch = Date.now();
Run Code Online (Sandbox Code Playgroud)

您正在尝试调用 Date 对象上的方法,例如通过调用new Date(). 如果您使用的是Date.now(),这不是必需的或不合适的,而是返回一个数字。

对于不提供 的平台Date.now(),您可以将当前 Date 对象转换为数字以获得相同的值。

var numberOfMillisecondsSinceEpoch = Number(new Date());
Run Code Online (Sandbox Code Playgroud)
Number(new Date()) === Date.now() // if your system is quick enough
Run Code Online (Sandbox Code Playgroud)


Jon*_*han 5

Date.now() 已从epoch返回ms,而不是Date对象...

Date.now是Date命名空间1中的方法,与Math.randomMath 相同.
Date(与Math不同)也是一个构造函数.使用new Date()它,它将返回Date对象.

1.属性Date,是一个函数/对象