在对象中找不到函数getTime()

时间:2013-02-07 19:12:15

标签: google-apps-script

我正在尝试使用Apps脚本比较Google文档中的两个日期。我的日期格式为m / d / yyyy h:mm:ss。我一直收到错误提示“无法在对象2/1/2013 9:42:46中找到函数getTime。”我的日期格式化方式有问题吗?我已经成功使用了这个格式为mm / dd / yyyy的日期,并且我不确定为什么添加时间戳会产生影响。任何帮助将不胜感激!

 for (var i = 0; i < kValues.length; i++) { // repeat loop
   if (kValues[i][0] == "") {var lastupdate = parseInt(new Date("1/1/1980 00:00:00").getTime()/day); } // if a date doesn't exist, throw it back in the past
   if (kValues[i][0] != ""){
   var lastupdate = parseInt(kValues[i][0].getTime()/day);} // if a date does exist, interpret it. Here's where I'm getting my error.
   var statusDateChange = parseInt(statusDate[i][0].getTime()/day); // interpret a date from Sheet 2
   var statusChange = changeStatus[i][0]; //find the new status
   var currentStatus = status[i][0]; //find the old status
   var currentOID = oid[i][0]; // set Order ID
   var changeOID = statusOID[i][0]; // set Order ID in Sheet 2 to compare   
   Logger.log(lastupdate + "<=" + statusDateChange);
   if (lastupdate <= statusDateChange && currentOID == changeOID && statusChange != currentStatus) {sheet.getRange(i + 2, 8, 1, 1).setValues(statusChange); // if the date in Sheet 1 is less than the date in Sheet 2 and the ID matches, change the status

  }
 }

1 个答案:

答案 0 :(得分:2)

字符串末尾是否有一个点或者是错字? 2/1/2013 9:42:46.

这可能是个问题,您可以像这样测试:

Logger.log(new Date("2/1/2013 9:42:46."))
Logger.log(new Date("2/1/2013 9:42:46"))

返回

Wed Dec 31 16:00:00 PST 1969
Fri Feb 01 00:42:46 PST 2013

第一个值等于Logger.log(new Date(null))并返回JS引用日期。