小编Sol*_*ion的帖子

为什么 Google Apps 脚本的日期值结果会相差 1 天?

目标: 我使用以下代码来简单测试是否能够提取正确的日期和天数。

function myFunction() {
  const spreadSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Purchases (Beta)');
  const getDate = new Date(spreadSheet.getRange('B4').getValue());
  const getDays = (new Date(getDate.getFullYear(), getDate.getMonth() + 1, 0)).getDate();
  Logger.log(getDate);
  Logger.log(getDays);
}
Run Code Online (Sandbox Code Playgroud)

代码的意图: getDate 应该从单元格 B4 获取日期,其中包含日期格式的值“2020-11-01”。对于getDays,它应该根据B4单元格的设置值来获取天数。

问题: 当我尝试注销 getDate 的结果时,它显示为:Sat Oct 31 20:00:00 GMT-04:00 2020。我不明白,因为 B4 中的值是 2020-11-01。

问题: 我想了解为什么会发生这种情况,并想知道如何根据 B4 单元格中的内容输出正确的日期。

有人可以帮忙吗?

javascript google-sheets google-apps-script

3
推荐指数
1
解决办法
1665
查看次数