揮発性のメモ2

http://d.hatena.ne.jp/iww/

Dateオブジェクト

データベースなんかで日付を取得すると 2010-04-28 みたいに年月日の区切りが / ではなく - になることが多い。
これをJavaScriptでDateオブジェクトにして使うとき

// IEで動作しない
str = '2010-04-28 12:34:56';
dd = new Date(str);

このままだとDateオブジェクトで使うときにIEで使えない。(NaNになる)
そこで - を / に変換してから使う。

str = '2010-04-28 12:34:56';
dd = new Date( str.replace(/-/g,'/') );
日付の形式 IE Opera FireFox
2010-04-28 ×使えない ○使える 調べてない
2010/04/28 ○使える ○使える 調べてない
2010/04-28 ○使える ×使えない 調べてない

replaceするときは正規表現を使わないとだめ
JavaScript : String.replace 関数の悪夢

// Operaで動作しない
str = '2010-04-28 12:34:56';
dd = new Date( str.replace('-','/') );

2010/04-28みたいに中途半端になって、今度はIEでだけ通用する日付書式になってしまう