【发布时间】:2018-10-19 07:41:42
【问题描述】:
在我的浏览器控制台中,我可以解析日期并以毫秒为单位获取时间:
new Date('2018-10-16 12:41:50.000000');
// => Tue Oct 16 2018 12:41:50 GMT+0200 (Central European Summer Time)
new Date('2018-10-16 12:41:50.000000').getTime();
// => 1539686510000
如果我在 App 脚本中执行相同操作,则无法识别日期(默认为 1970 纪元),getTime() 只是中断 (NaN):
function test_date() {
Logger.log('new Date(date)');
Logger.log(new Date('2018-10-16 12:41:50.000000'));
Logger.log('getTime()');
Logger.log(new Date('2018-10-16 12:41:50.000000').getTime());
}
我是否遗漏了什么或者new Date() / getTime() 只是在应用脚本中被破坏了?
我正在 Google 表格中运行上述脚本
【问题讨论】:
-
在解析未指定时区的日期时要格外小心。我已经看到 Chrome 假定设备的本地时区和 safari 强制 UTC。恶梦。如果您不知道时区,最安全的做法是强制 UTC 同时进行序列化和反序列化,至少这样您可以获得一致的行为并且您的日期不会神奇地增加。
标签: javascript datetime google-apps-script google-sheets