【发布时间】:2016-08-24 09:17:00
【问题描述】:
全部,
考虑以下 JavaScript sn-p,它采用字符串化日期并创建一个新的 Date 对象:
var str = '2016-02-01';
var d = new Date(str);
console.log(d);
运行上述返回,例如Mon Feb 01 2016 00:00:00 GMT+0000 (GMT Standard Time)。
但是,将等效代码作为 Google Apps 脚本函数运行不会产生相同的结果:
function strToDateTest() {
var str = '2016-02-01';
var d = new Date(str);
Logger.log(d);
}
在这种情况下,输出为Thu Jan 01 01:00:00 GMT+01:00 1970。
我假设,鉴于不同的日志输出,Google Apps 脚本使用的是自己的 Date 实现,而不是 the native JavaScript object。
有人能对此有所了解,并建议如何最好地解析 Google Apps 脚本中的日期值吗?
【问题讨论】:
-
众所周知,允许实现解析日期字符串在实现之间是不一致的,因此强烈建议不要这样做。手动解析日期字符串要好得多,如果您只有一种格式要处理,库可以提供帮助或一个简单的函数。
-
我认为您的意思是 built–in Date 对象(即实现提供的对象),而不是 native (语言规范中不再定义)。因此,如果 Google Apps 脚本提供了一个 Date 对象,那么它就是内置的(您的“本机”)Date 对象。
标签: javascript date google-apps-script