Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在GoogleApps脚本中使用逻辑仅对数组中的日期对象执行操作_Javascript_Date_Google Apps Script_Google Sheets - Fatal编程技术网

Javascript 如何在GoogleApps脚本中使用逻辑仅对数组中的日期对象执行操作

Javascript 如何在GoogleApps脚本中使用逻辑仅对数组中的日期对象执行操作,javascript,date,google-apps-script,google-sheets,Javascript,Date,Google Apps Script,Google Sheets,我正在尝试构建一个脚本,该脚本将读取电子表格中的特定列,并且仅当特定单元格中的项是日期对象时(Google scripts自动以我们的格式-MM/dd/yyyy呈现)Google的日期对象提供所有时间参数,例如: Sat Apr 26 00:00:00 GMT-05:00 2014 如果列是一个日期对象,我只希望存储该列中的数据,那么我应该在if()语句中加入什么逻辑来实现这一点呢?我试着使用正则表达式,如下所示 var dateFormat = new RegExp('[a-zA-Z]{3}

我正在尝试构建一个脚本,该脚本将读取电子表格中的特定列,并且仅当特定单元格中的项是日期对象时(Google scripts自动以我们的格式-MM/dd/yyyy呈现)Google的日期对象提供所有时间参数,例如:

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。那么,为什么逻辑不能直接作用于日期对象呢?
如果您知道应用程序脚本中的日期对象,我可以在哪里找到有关操作日期对象的信息。我感兴趣的是检测未来45天、30天和15天的日期,并为即将到来的这些日期发送相应的警报,然后在15天后每天发送警报。

您的测试对日期对象无效,因为它们是日期对象而不是字符串对象


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

您是否知道如何以数学方式处理日期,即基于日期在特定时间段设置特定事件?如果网上有一个链接,你可以转发给我,这将是有益的。我找不到好的信息。只需在这里搜索stackowerflow,使用
[google apps script]date
。你会发现很多信息。JS日期对象是讨厌的野兽,我更喜欢将它们转换为UNIX时间戳进行计算。