google-apps-script - 日期 getValue() 从 getDisplayValue() 休息一天
问题描述
我有一个日期格式设置为:“2019 年 11 月 2 日,星期六”的单元格。
但是当我用脚本查找单元格日期时,它是一天的休息时间(-1)。
var date = new Date();
date = sheet_log.getRange(110, 1).getValue();
var dateDisplay = sheet_log.getRange(110, 1).getDisplayValue();
// date = Fri Nov 01 2019 18:00:00 GMT-0600 (CST)
// dateDisplay = Sat, Nov 2, 2019
为什么 Google 表格允许我使用日历选择器设置日期,但在脚本中计算日期减去一天?
有没有办法解决?
解决方案
这个答案怎么样?请认为这只是几个可能的答案之一。
虽然我不确定您的实际情况,例如电子表格的时区值和脚本的时区值不同,但可能会发生这种情况。
- 检索的值
getValue()
遵循脚本的时区。 - 检索的值
getDisplayValue()
遵循电子表格的时区。
可以通过以下脚本确认两个时区。
var timezone1 = SpreadsheetApp.getActiveSpreadsheet().getSpreadsheetTimeZone();
var timezone2 = Session.getScriptTimeZone();
Logger.log(timezone1)
Logger.log(timezone2)
- 如果
timezone1
与 不同timezone2
,则认为问题的原因是由于时区不同。在这种情况下,请设置电子表格或脚本的时区。 - 如果
timezone1
与 相同timezone2
,则认为问题的原因不是时区。因此,需要进行更多的调查,以明确问题的原因。
参考:
如果我误解了您的情况,我深表歉意。
推荐阅读
- jquery - 如何获取 Datepicker 输入的 ID 属性?
- twitter-bootstrap - 引导下拉菜单移动到左上角
- python - 为什么我收到此错误命令 on_message 已经是现有命令或别名
- java - 活跃度探测失败,但可以从不同的 pod 访问端点
- reactjs - 将 websocket 扩展从 0.1.3 提升到 0.1.4
- java - 在 Java 中使用 java.util.Date 进行不同的时间转换
- haskell - 计算 e^x 的 Haskell 函数
- selenium - 如何找到该网站的 xpath 表达式?
- javascript - JQuery 选择动态 ajax 调用选项重复问题,如果使用 empty() 元素则丢失默认选定值
- python - 在 tkinter python 中看不到框架