无法使用Google Apps脚本访问Google表格中的持续时间值

问题描述 投票:0回答:1

在我的Google表格的单元格A3中,持续时间值为00:01:00

然后我就这样在Google表格中访问此值...

var my_time = my_sheet.getRange("A3").getValue();
var hms = Utilities.formatDate(my_time ,"GMT", "HH:mm:ss");

比较两个变量时,两个变量的持续时间不同。相反,我有...

my_time | Date (1473042018) | Sat Dec 30 1899 00:01:00 GMT+0100 (CET)

hms | String | "23:01:00"

编辑:这是用于测试的public_file;这里的代码(可通过文件访问):

function myFunction() {
  var my_sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var result_cell = my_sheet.getRange("A4");
  result_cell.clear();

  var my_time = my_sheet.getRange("A3").getValue();
  var hms = Utilities.formatDate(my_time ,"GMT", "HH:mm:ss");
  result_cell.setValue(hms);}

我想做的是在单元格A3中的Google Apps脚本中的变量中获取持续时间值。

我不明白为什么键入的时间是“ 00:01:00”时,A3.getValue()会返回“ Sat Dec 30 1899 00:51:39 GMT + 0100(CET)”。我预计“ 1899年12月30日星期六格林尼治标准时间+0100(CET)”]

下面是我的电子表格和代码的屏幕截图:

capture

javascript date google-apps-script duration
1个回答
1
投票

Google表格和Google Apps脚本没有使用相同的基本值来计算日期时间值,因此,使用getDisplayValue()来获得持续时间要比使用getValue()和使用JavaScript / Google Apps Script服务类更容易。和方法。

示例:

A1单元格显示值:23:01:00编辑栏显示值:23:01:00.000

脚本:

function myFunction() {
  var duration = SpreadsheetApp.getActiveSheet().getRange("A1").getDisplayValue();
  Logger.log(duration);
}

日志:

[17-12-23 12:33:02:470 CST] 23:01:00
© www.soinside.com 2019 - 2024. All rights reserved.