4

NaN次のコードは、Firefoxがを生成している間にChromeで出力を出力します1247547600000

var str = "2009/07/13 24:00:00-0500";
document.write(Date.parse(str));

このフィドルを参照してください。

これを解決する方法は?ありがとうございました!

編集:私は別の会社からのデータを持っています。生成されるデータを変更できません。それで、ここでの提案は何ですか?

生成されたデータ:

{"day":"2009-07-13", "work":["11:16:35-12:03:12", "12:32:48-13:26:28", "13:39:09-13:39:12", "13:41:03-13:41:05", "14:18:09-24:00:00"]},
{"day":"2009-07-14", "work":["00:00:00-07:22:25", "07:22:25-07:22:28", "10:10:04-10:10:31", "10:10:32-10:15:33", "10:18:07-10:21:19", "11:04:49-11:06:15", "11:12:50-11:19:05", "11:19:11-11:19:19", "11:45:50-11:51:42", "11:51:43-11:53:55", "14:03:13-14:13:04", "14:23:55-14:31:28", "14:31:28-14:38:00", "14:38:00-14:49:04", "16:34:56-16:44:33", "16:46:37-16:48:10", "16:48:11-24:00:00"]}
4

3 に答える 3

7

ちょうどこの問題を抱えて、それを研究しました。

ウィキペディアによると:( http://en.wikipedia.org/wiki/ISO_8601を参照)

真夜中は特殊なケースであり、「00:00」と「24:00」の両方と呼ばれることがあります。表記「00:00」は暦日の初めに使用され、より頻繁に使用されます。一日の終わりには「24:00」を使用してください。「2007-04-05T24:00」は「2007-04-06T00:00」と同じ瞬間であることに注意してください(以下の日付と時刻の組み合わせの表現を参照)。

つまり、Chromeは間違っているようです。

于 2014-01-29T16:59:22.093 に答える
5

無効な時間を解析するようにブラウザに要求しています。24:00は無効です。あなたはおそらく翌日の0:00を意味します。Chromeはそれを拒否するのに正しいです。Firefoxは単により寛容です。

1日は24時間あると考えてください。最初の時間が00の場合、最後の1時間は23です。

于 2012-07-19T15:27:41.437 に答える
1

Chromeは正しいですが、24:00は存在しません。1日は23:59:59に終了し、翌日は00:00:00に開始します。コードは24:00:00の日付を生成しないでください。これは、ブラウザによってどのように解釈されるか、または現在および将来的に機能するかどうかについての保証がないためです。

于 2012-07-19T15:29:37.807 に答える