首页 > 解决方案 > 25.02.2021 11:36 (CET) 单元格值显示为 24.02.2021 18:00 (EST)

问题描述

嗨,我需要帮助:

我正在研究一个宏,我需要获取其中包含 TODAY() 公式的单元格的值。我的电子表格根据我的位置显示 CET。

当我做:

var today = sheet.getRange('B1').getValues().flat();
Logger.log(today);

我得到:

[Wed Feb 24 18:00:00 GMT-05:00 2021]

在我看到的电子表格25.02.2021 11:36 (CET)和 Apps 脚本中,它说当前的 EST 应该是25.02.2021 05:36. 日期完全关闭。

完整代码:

function PrepareColumn() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName('TheSheetName');
  var dateRange = sheet.getRange(2, 1, 1, 15).getValues().flat();
  var today = sheet.getRange('B1').getValues().flat();
  Logger.log(today);
}

标签: dategoogle-apps-scripttimezone

解决方案


两个修改点:

  1. 使用getDisplayValue获取工作表中显示的值。

  2. 因为today您正在获取单个单元格,所以您不需要getValuesthen flat

代替:

var today = sheet.getRange('B1').getValues().flat();

至:

var today = sheet.getRange('B1').getDisplayValue();

也许您想对以下内容做同样的事情dateRange

var dateRange = sheet.getRange(2, 1, 1, 15).getDisplayValues().flat();

推荐阅读