错误的日期谷歌电子表格

时间:2018-04-06 12:36:24

标签: google-apps-script google-sheets google-drive-api

我正在通过Google Drive API在javascript中阅读Google表格。

我有这个函数来获取最后一次修改var dt = file.getLastUpdated()它给我这个结果4/5/2018 8:48:22不是我的cuurent时间。

我使用var formattedDate = Utilities.formatDate(file.getLastUpdated() , "GMT", "yyyy.MM.dd HH:mm:ss.SSS");转换日期到grenwich时间但仍然是同一个问题。 我将我的Google脚本项目的时区更正为(GMT + 01:00)柏林,但错误的日期时间

enter image description here

2 个答案:

答案 0 :(得分:3)

您应该在formatDate()中使用“CET”。

Utilities.formatDate(file.getLastUpdated() , "CET", "yyyy.MM.dd HH:mm:ss.SSS");

formatDate()函数有3个参数:date,timeZone和format。如果您将其传递给“GMT”,那么日期/时间将在该时区中显示。相反,您需要将其传递给“CET”(中欧时间),以便在该时区显示时间。

编辑可以更好地处理夏令时(CET vs CEST)的一种可能更稳定的方法是使用Session.getScriptTimeZone()。这样做要求您已经设置了脚本时区,这是您已经正确完成的。 (可能没有区别,因为我不确定如何处理。)

Utilities.formatDate(file.getLastUpdated(), Session.getScriptTimeZone(), "yyyy.MM.dd HH:mm:ss.SSS");

答案 1 :(得分:0)

检查时区设置。 (“文件”>“电子表格设置”)时区是第二个选项。