1

初心者の質問。次の形式の文字列があります。

var dateStr = '2012-4-14';

JavaScriptのDateオブジェクトにしたいです。以下は、Chrome で Date オブジェクトを作成しますが、IE8 では NaN です。

var myDate = new Date(dateStr);

別の方法で何をすべきですか-文字列を分割する必要がありますか?

ありがとう!

4

3 に答える 3

3

日付文字列を年、月、日に分割し、日付を別の方法でインスタンス化してみてください。

var rawDate = '2012-4-14'.split('-');

var myDate = new Date(rawDate[0], rawDate[1]-1, rawDate[2]);

これは、日付文字列が毎回同じ形式になることを保証できる場合にのみ機能することに注意してください。

于 2012-07-25T20:46:50.770 に答える
2

javascript にはDate.parseがあり、さまざまな日付形式を認識します。詳細については、MDN ページを参照してください。ISO 8601 の日付 (あなたのものはこれのようです) については、このライブラリを使用できます。

この回答は、それ自体が役立つことも証明できます: Date.parse が間違った結果をもたらすのはなぜですか?

于 2012-07-25T20:46:34.463 に答える
0

var dateStr = '2012-4-14';に変更var dateStr = '2012/4/14';

于 2012-07-25T20:48:05.387 に答える