我正在通过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)柏林,但错误的日期时间
答案 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)
检查时区设置。 (“文件”>“电子表格设置”)时区是第二个选项。