ブラウザによる、Date型の扱いの違いには、頭を悩ませています。
例えば、ブラウザにより、下記のコードは動いたり、動かなかったりします。
var str = '2012-07-23';
var d = new Date(str);
対策として、
if(d == 'Invalid Date'){
var s = str.replace(/-/g, '/');
d = new Date(s);
}
を付ければ、それなりに動きます。
しかし、時差への配慮が異なるため、d.getTime()は、ブラウザにより、異なる値になります。
結局、Date型に、文字列表記の時間を与えるのは、混乱の元だと考えました。
文字列から、年、月、日などを抜き出し、それぞれを、setYear、setMonthなどで設定するのが、一番です。
0 件のコメント:
コメントを投稿