考虑下面的JavaScript代码段,这需要字符串化的日期,并创建一个新的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)
。
但是,在运行的等效代码作为谷歌应用脚本功能不产生相同的结果:
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脚本中的日期值?
允许实现解析日期字符串是众所周知的是在不同的实现不一致,因此强烈建议反对。最好是手动分析日期字符串,如果只有一种格式需要处理,库可以提供帮助或简单的功能。 – RobG
我认为你的意思是[* built-in *](http://ecma-international.org/ecma-262/7.0/index.html#sec-ecmascript-overview)Date对象(即实现提供的对象) ,而不是* native *(在语言规范中不再定义)。因此,如果Google Apps脚本提供了一个Date对象,那么这是内置的(您的“本机”)Date对象。 – RobG