MySQLのTIMESTAMP文字列をJavaScriptでパースするときの注意

  • 8
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

'2014-02-12 13:16:43' をパースしたい

MySQLのTIMESTAMPは'YYYY-MM-DD HH:MM:SS'の19文字になる。
今なら、'2014-02-12 13:16:43'の形。

これをJavaScriptのDate型にパースするには

// ダメな例
var time = new Date('2014-02-12 13:16:43');

これでOK… じゃない。
WebKit系のブラウザならこれで大丈夫なんだけど、IEやFirefoxでInvaildになる。

Chromeの場合

ScreenShot 2014-02-12 16.44.11.png

Firefoxの場合

ScreenShot 2014-02-12 16.44.56.png

こうする

var time = new Date('2014-02-12 13:16:43'.replace(/-/g, '/'));

IE・Firefoxでもパース出来た。

ScreenShot 2014-02-12 16.48.38.png

詳しくは

JavaScript Dateでパース出来る形式をまとめてくれているナイスなページがあったので、リンクしておく。

http://dygraphs.com/date-formats.html