首页 > 解决方案 > 谷歌脚本:弄清楚如何比较时间 B 和时间 C 之间的时间 A

问题描述

我正在研究一个谷歌脚本,它试图检查给定时间 A 是否在时间 B 和时间 C 之间:IE:

var A = getCurrentSheet.getRange("P30").getDisplayValue();
//08:40:00 AM
var B = getCurrentSheet.getRange("P31").getDisplayValue();
//04:30:00 AM
var C = getCurrentSheet.getRange("P32").getDisplayValue();
//10:40:00 AM

目标是创建一个逻辑比较,其中:

if(B <= A <= C)

尽管我在弄清楚如何让脚本将这些值识别为 HH:mm:ss 方面的时间时遇到了一些困难

标签: datetimegoogle-apps-scriptgoogle-sheets

解决方案


function compareTimes() {
  const sh = SpreadsheetApp.getActiveSheet();
 const [b,a,c] = sh.getRange( 2, 1, 1, 3).getValues().flat().map(e => new Date(e).valueOf());//using Date constructor to get date object and then valueOf() methold to get milliseconds from reference data
 if(b <= a <= c) SpreadsheetApp.getUi().alert('It is true.');
}

活动表:

b 一个 C
2021 年 9 月 26 日 01:30:00 2021 年 9 月 26 日 02:30:00 2021 年 9 月 26 日 03:30:00

对话:

在此处输入图像描述


推荐阅读