Google Spread Sheet Script。与日期合作

时间:2017-08-18 07:12:42

标签: google-sheets formulas

我正在使用Google Apps脚本阅读包含DateTime的Google Sheet单元格列表。 单元格中的值为:

A1:7月26日13:00

A2:7月27日0:00

var dateValues = SpreadsheetApp.getActiveSheet().getRange("A1:A2").getValues(); 

然而,阅读的价值落后1小时。这是我在调试器中看到的:

dateValues [0] = 2017年7月26日星期三12:00:00 GMT + 0200(EET)

dateValues [1] = Wed Jul 26 2017 23:00:00 GMT + 0200(EET)

我想这是一个时区问题,但我并不是真的理解这个概念。 我的时区目前(由于DTS)GMT + 3 。实际上,在DTS期间之外它是GMT +2。电子表格时区是耶路撒冷GMT + 2。

EET - 不要低估它被使用的原因。

基本上,我希望在代码中获取代码中的值。

概念是什么?

1 个答案:

答案 0 :(得分:0)

有两种方法可以解决这个问题

  1. 使用 getDisplayValues ()而不是 getValues ()。这将迫使进行一些转换,因为 getDisplayValues ()返回的字符串不是日期

  2. 使脚本编辑器时区与工作表tz匹配。 在我的情况下,表格是(GMT + 2耶路撒冷),但由于某种原因,脚本编辑器是不同的(GMT + 2莫斯科)。 设置脚本编辑器TZ,解决了问题。