11

RSS フィードで日付を操作していますが、IE、Chrome、および Firefox で以下のコードを使用すると、異なる結果が得られます。

new Date('2001-01-01T12:00:00Z')

Firefox はこれで問題ありませんが、Chrome と IE は Invalid Date を返します。

T と Z を次のように置き換えてみようと思いました。

new Date('2001-01-01 12:00:00')

今回は Chrome はこれで問題ありませんが、Firefox と IE は Invalid Date を返します。

この形式のすべてのブラウザで日付オブジェクトを取得するにはどうすればよいですか?!

どうもありがとう、ティム

4

4 に答える 4

24

これは私のボックスのすべてのブラウザで機能します-コンソールで試してください:

alert(new Date('2001/01/31 12:00:00'))

それで

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/[T|Z]/g,' '))

IE8、FF3.6、Safari4、クローム

于 2010-08-25T13:21:00.210 に答える
3

オープン ソースの JavaScript 日付操作ライブラリであるDate.jsを使用することもできます。

于 2010-08-25T14:00:11.680 に答える
3

試すことができますか:

new Date(2001,0,1,12,0,0)

これの意味は:

new Date(year,month,day,hour,minutes,seconds) 
于 2010-08-25T13:17:03.930 に答える
3

これは主要な 5 つのブラウザーすべてで機能し、すべてのブラウザーが時刻を現地時間ではなく GMT/UTC として認識するようになります (Z サフィックスは時刻が UTC であることを意味します)。

new Date('2001-01-01T12:00:00Z'.replace(/\-/g,'\/').replace(/T/,' ').replace(/Z/,' -0'))

mplungjan の回答に感謝します。

于 2010-08-25T14:37:42.567 に答える