0

您好,电子表格中的 GOOGLECLOCK() 几点钟了?

我从文档中知道 GoogleClock “根据您的计算机系统返回当前日期和时间”(引用)。

但是当电子表格由时间驱动的触发器在客户端打开时呢?GoogleClock() 会是几点?

如果有人有任何想法,请分享。非常感谢您的关注。

4

1 回答 1

2

快速且易于测试。这将说明文档令人困惑,并且可能是错误的。(不过是在网上,所以一定是真的!)

  1. 将单元格 A1 中的公式设置为GoogleClock()

  2. 输入测试脚本。这只是读取 A1 中的值,并将其写入 A2。

  3. 将基于时间的触发器设置为在已知时间触发一次。

  4. 关闭您的电子表格,只留下触发器使用它。

  5. 触发器运行后返回电子表格,并检查结果。

在它触发之后,您会看到 A2 = A1,至少直到 A1 像每分钟一样发生变化。我认为文档可能意味着时间将根据您计算机的时区和语言环境显示;但它不是从您的计算机上读取时间。所以时钟的实际来源与Today()函数的来源相同;它正在执行的服务器。

function testGoogleClock () {
  var curGClock = SpreadsheetApp.getActiveSheet().getRange("A1").getValue();
  SpreadsheetApp.getActiveSheet().getRange("A2").setValue(curGClock);
}

作为进一步的实验,更改 PC 上的时间;让它休息10分钟,说。查看您的电子表格,并注意GoogleClock()打勾。无论您的 PC 设置为什么,它都能保持网络时间。

接下来,更改 PC 的时区。检查GoogleClock()。您会发现它与时区更改不匹配......仍然保持网络时间,无论您的 PC 设置为什么。

电子表格设置呢?将它们更改为不同的时区,您会发现GoogleClock()它与之匹配。

文档应该说..

根据计算机系统返回当前日期和时间。

或者,为了与Now()...的文档保持一致

返回计算机系统时间和日期。每分钟自动更新(与 NOW 功能不同)。

PS:在这些实验之后修正你的时间设置!

于 2013-01-25T01:54:04.037 回答