2011-07-13 14 views
10

Google Apps Scriptは日付を解析できないファンキーなバージョンのEcmaScriptを使用しますか? 2011-04-11T19:25:40Zの日付をGoogle Apps ScriptのJavaScript Dateオブジェクトに解析するにはどうすればよいですか?Google Apps ScriptのDateオブジェクトがNaNを返すのはなぜですか

下のログからログ出力NaN

function showDate(){ 
    var d = Date.parse("2011-04-11T19:25:40Z"); 
    Logger.log(d); // <-- Logs NaN 
} 

編集:http://jsfiddle.net/UTrYm/

答えて

15

セクション15.9.1.15で指定された形式はので、多分Date.parse("2011-04-11T19:25:40.000Z")のようにあなたの日付フォーマットにミリ秒を追加してみてくださいYYYY-MM-DDTHH:mm:ss.sssZです。

+1

これを行いました。 JSFiddleは解析できますが、Google Apps Scriptでは解析できない理由はありますか? –

+6

@citizen conn、JSFiddleはブラウザに組み込まれているインタープリタを使用していますが、Google Apps ScriptはRhinoを使用してJavaScriptを解釈すると考えています。 Rhinoは仕様に従って入力を拒否することができますが、ブラウザのインタプリタは仕様よりも許容されており、ミリ秒を要しません。 –

+1

[セクション15.9.1.15](https://es5.github.io/x15.9.html#x15.9.1.15)を読むと、ミリ秒を省略することができます。不在の値はゼロと解釈されるべきである。 –

0

Google Appsスクリプトは、ダッシュの代わりにスラッシュを使用すると問題なく動作します。 Like:

var date = new Date ('2017/12/26 9:55 am'); 
Logger.log(date); 
関連する問題