Date.now().toISOString() 抛出“not a function”错误

76

我正在Windows 10上运行Node v6.4.0。在我的一个Javascript文件中,我正在尝试从Date对象中获取ISO日期字符串:

let timestamp = Date.now().toISOString();

这个错误信息是:Date.now(...).toISOString不是一个函数

查看stackoverflow后发现应该可以正常工作...可能是Node的一个bug?

2个回答

132

Date.now() 返回一个数字,它代表自UNIX纪元以来经过的毫秒数。 toISOString 方法不能在数字上调用,但只能在 Date 对象上调用,如下所示:

var now = new Date();
var isoString = now.toISOString();

或者以一行代码表示:

new Date().toISOString()

非常感谢!我确实误用了Date.now(),正如所述。 - rmcneilly
4
开发者出了 Bug :) - rmcneilly
太好了,谢谢!和原帖作者一样,我也试图通过使用Date.now().toISOString()来避免创建额外的对象,但回想起来这根本没有任何意义,我应该立即注意到“日期对象”和“数字”之间的区别 :-) 唉,我是个疲惫的业余开发者... - Gwyneth Llewelyn
只是提醒一下楼主,这与Node.js或Windows 10无关! - Gwyneth Llewelyn
19
无需额外添加对象:new Date().toISOString() - tuomassalo

-2

如果有人想知道如何将现有的 date.Now() 时间戳转换为实际日期:是可以的。只需要:

new Date(put your timestamp here).toISOString().slice(0, 10)

你将会得到以 yyyy-mm-dd 格式表示的日期。


这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Knox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接