关于javascript:Google apps脚本新的Date()未定义

Google apps script new Date() undefined

我正在尝试获取时间戳以使文件名唯一,但Date对象似乎没有按照描述工作。

1
2
var today = new Date();
var result = ui.alert(today.now());

这会返回'undefined'

1
2
var today = new Date();
var result = ui.alert(today);

返回一个长格式的日期字符串:Wed Aug 23 2017 11:40:13 GMT-0700(PDT)

如何获得自纪元以来的毫秒数? 这不是now()方法应该给的吗?

谢谢,


您可以使用Date.parse解析日期的字符串表示形式,并返回自1970年1月1日00:00:00 UTC以来的毫秒数。

1
console.log(Date.parse('Wed Aug 23 2017 11:40:13 GMT-0700 (PDT)'));

或者作为替代(请注意+运算符返回对象的数字表示):

1
console.log(+new Date('Wed Aug 23 2017 11:40:13 GMT-0700 (PDT)'));


Date.now()是静态的。 在日期而不是今天的实例上使用它。

如果您想要日期实例上的毫秒数,请改用getTime()。

所以:

1
2
var today = Date.now();
var result = ui.alert(today);

要么

1
2
var today = new Date();
var result = ui.alert(today.getTime());

https://jsfiddle.net/k_24/qof04cvc/

编辑:对过去创建的东西使用now()是没有意义的;)


您是否尝试过简单地将Date对象转换为数字,而不是解析输出字符串?

1
var result = ui.alert(+today);