繁体   English   中英

如何在Google表格脚本中比较时间?

[英]How to compare time in google sheets scripts?

在Google工作表中,我正在遍历一系列单元格,然后拆分包含时间的字符串部分。 示例:使用以下行从TEST:6:40 AM派生6:40 AM

text.slice(text.indexOf(":") + 1, text.length);

然后,我试图查看此时间是否与最初调用该函数的单元格相邻的单元格时间匹配。

var sheetTime = timeSheetRange.getCell(1,1).getValue();
var time = 0;
  for (var i = 1; i <= 30; i++) {
      for (var j = 1; j <= 8; j++) {
          time = getTime(taskRange.getCell(i,j).getValue());
          if (time == sheetTime) {
              return time;
          }
          else {
              return "NO ACTIVITY";
          }
      }
  }

问题在于,当为timesheeetTime输入相同的时间值timetime不等于sheetTime

同时返回timesheetTime打印出正确的相等时间。 我觉得这可能与单元格时间格式有关? 时间正在从此单元格读取:

时间细胞

当sheetTime从此单元格读取时:

sheetTime单元格

所以这是怎么回事? 是我必须修改的格式还是我要解决这个错误? 谢谢。

问题是sheetTime是实际时间值。 理想情况下,您应该将时间与时间进行比较,但是最简单的方法是使用getDisplayValue() (如Serge insas在对我的原始答案的评论中所建议)。

var sheetTime = timeSheetRange.getCell(1,1).getDisplayValue();

作为总体建议,请尝试使用Logger.log()语句尝试调试。 您将能够准确查看脚本正在使用的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM