簡體   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