gpt4 book ai didi

javascript - 从 Google 电子表格读取和写入日期

转载 作者:行者123 更新时间:2023-11-30 20:20:13 24 4
gpt4 key购买 nike

我使用 Google Apps 脚本将近 30,000 个日期从一个 Google 电子表格导入到另一个。我从一张 10,000 张的导入工作正常,但较大的一张没有。对于较大的导入,所有日期都被导入过去 1 个日期,因此 1/1/2018 变为 12/31/2017,依此类推。

我知道 Javascript 处理日期有点不正常,所以我不确定为什么它在一个日期上失败而在另一个日期上工作。但大多数情况下,我不确定如何一次递增整个数组(实际上是数组的数组)。

当我检查 GAS 调试器中的日期值时,我注意到 2018 年 1 月 1 日日期返回为 Sun Dec 31 17:00:00 GMT-07:00 2017。工作表返回 Mon Jan 01 00:00:00 GMT-06:00 2018。我检查了脚本文件和基础电子表格的属性,两者都设置为 GMT-7。

编辑

日期的前 12 行:
2018 年 1 月 1 日
2018 年 1 月 1 日
2018 年 1 月 1 日
2018 年 1 月 1 日
2018 年 1 月 1 日
2018 年 1 月 1 日
2018 年 1 月 1 日
不适用
不适用
2018 年 1 月 1 日
2018 年 1 月 2 日

输出:12/31/2017
12/31/2017
12/31/2017
12/31/2017
12/31/2017
12/31/2017
12/31/2017
不适用
不适用
12/31/2017
2018 年 1 月 1 日

我使用的代码是 destination.getRange(1,7,lastRow+1).setValues(source.getRange(2,columns[0],lastRow+1).getValues());我知道这可能是一个时区问题,但尤其是在整个阵列中,我不知道该怎么做。

期望的行为:输出是源数据第一行的精确副本。

我希望这足够清楚/足够好。如果我需要做任何其他事情来解决此问题,请告诉我。

最佳答案

答案是通过尝试评论中的东西得出的,所以我回答这个问题是为了实际说明发生了什么。

我在 Google 表格用户界面中检查了文件>电子表格设置,并在脚本编辑器中检查了文件>项目属性,以验证时区设置是否符合相同 - 他们是。

但是,当我运行 getSpreadsheetTimeZone()从脚本编辑器,它的输出是空白的。我手动将时区更改为其他时区,然后又改回来,最后脚本识别了时区,问题得到解决。

我不能说是什么导致了 Google 表格的时区设置错误,只有正确设置才可以正常工作。

关于javascript - 从 Google 电子表格读取和写入日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51525738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com