2

次のコードは、Firefox では機能するようですが、Chrome では機能しないようです。

var d = Date.parse("Sep 23, 2012 24:0:0");
alert (d);

Firefox ではミリ秒単位でアラートが表示されますが、Chrome では NaN が返されます。

もちろん、最後の 3 つの数字 (24:0:0) は「日付」としてカウントされない可能性がありますが、コードをクロスブラウザーで動作させるための簡単な解決策が必要です。

4

2 に答える 2

2

これは、リストした形式で機能するはずです。

var parts = "Sep 23, 2012 21:1:2".match(/(.*) (\d+):(\d+):(\d+)/)
var d = new Date(parts[1])
d.setHours(parts[2])
d.setMinutes(parts[3])
var tstamp = d.setSeconds(parts[4])

最終的に Date オブジェクトまたは整数のタイムスタンプが必要かどうかはわかりませんが、これで両方が得られるはずです。

于 2012-09-18T14:47:21.947 に答える
1

Chromeは時間をサポートしていないようです...

うまくDate.parse("Sep 23, 2012"); いくはずです

Date.parseは、仕様に従って時間を解析することは想定されていません。サードパーティのコードが必要です。参照: Javascriptのユーザー入力からDateオブジェクトに時間を解析するための最良の方法は何ですか?

于 2012-09-18T14:27:38.070 に答える