0

我正在尝试构建一个脚本,该脚本将读取电子表格中的特定列,并且仅当特定单元格中的项目是日期对象(谷歌脚本自动从我们的格式呈现 - 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。那么为什么逻辑不能直接作用于日期对象呢?如果您了解 Apps 脚本中的日期对象,我在哪里可以找到有关操作日期对象的信息。我有兴趣检测一个日期是未来 45 天、未来 30 天和 15 天,并为这些日期发送相应的警报,然后在 15 天后每天发送警报。

4

1 回答 1

0

您的测试不适用于 Date 对象,因为它们是 Date 对象而不是 String 对象。

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

于 2013-06-18T14:36:13.420 回答