如何在Google Apps Script中使用逻辑仅对数组中的日期对象执行操作

How to use logic to perform operations only on date objects in an array in Google Apps Script

本文关键字:数组 日期 操作 执行 对象 Google Apps Script      更新时间:2023-09-26

我正在尝试构建一个脚本,将读取电子表格中的特定列,只有当特定单元格中的项目是日期对象(谷歌脚本自动呈现从我们的格式- MM/dd/yyyy)谷歌的日期对象给出所有时间参数,如:

Sat Apr 26 00:00:00 GMT-05:00 2014

我只希望从列中存储数据,如果它是一个日期对象,那么我将在if()语句中放入什么逻辑来完成这一点?我尝试使用正则表达式,如下所示

var dateFormat = new RegExp('[a-zA-Z]{3}''s[a-zA-Z]{3}''s[0-9]{2}''s[0-9]{2}:[0-9]{2}:[0-9]{2}''sGMT-[0-9]{2}:[0-9]{2}''s[0-9]{4}');
var line = "Thu Dec 31 00:00:00 GMT-06:00 2015";
Logger.log(dateFormat.test(line));

这个测试返回TRUE。那么为什么逻辑不能直接作用于日期对象呢?如果你知道app脚本中的日期对象,我在哪里可以找到操作日期对象的信息。我感兴趣的是检测未来45天、30天和15天的日期,并为这些日期发送相应的警报,然后在15天后每天发送警报。

您的测试不能在Date对象上工作,因为它们是Date对象而不是String对象。

使用instanceof运算符(cellValue instanceof Date)来确定它是否是日期