1

Apps スクリプトを使用して、Google ドキュメントで 2 つの日付を比較しようとしています。私の日付は、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

  }
 }
4

1 に答える 1

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 ref 日付と同等であり、それを返します。

于 2013-02-07T19:56:43.500 に答える