GOOGLECLOCK()在Spreadsheets几点钟了?

时间:2013-01-24 08:27:56

标签: google-apps-script google-sheets formula google-apps

你好电子表格中的GOOGLECLOCK()几点了?

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

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

如果有任何想法,请分享。 非常感谢您的光临。

1 个答案:

答案 0 :(得分:2)

快速且容易测试。这将说明文档令人困惑,可能是错误的。 (但它在互联网上,所以一定是真的!)

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

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

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

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

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

  6. 在它发射之后,你会看到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:在这些实验后修复你的时间设置!