目指せ非プログラマー

もう何でもごじゃれ言語

javascriptのDateに文字列突っ込んだらIEとFireFoxでInvalidになりやがった。。。

var dateStr = "2000-10-10 00:00:00";

var date = new Date(dateStr);

 

dateの値がChromeだとうまくいくのにIE,FireFoxでうまくいきません。

IE8, IE9, IE10, FireFox 24.0

結論から言うと"-"区切りがダメみたいです。

 

なので

 

dateStr.replace("-", "/");

追記で修正 

 

を突っ込んでおくといいでしょう。

 

しかし、なんでなんでしょうね。

 

というのも、javascriptにもいろいろ種類があります。

 

ブラウザによりこのjavascriptの種類が違うのです!

 

だから時々、戻り値がブラウザで違う!なんてことも。

 

なれるとすべてのブラウザに対応したjavascript文が書けるようになるらしいよ。

 

ちなみに種類に関してはGoogle先生に”ECMAScript”とか聞いてみるといいかも。

 

追記

dateStr.replace("-", "/");

だと全ての"-"を変換してくれませんでしたねw

/-/gとかにすればいいんだっけか?

正規表現がいまだにおぼえれません。

 

なので、dateStr.split("-").join("/")で許してください。