nmtysh.log

Tech系のネタや日々の独り言などを書いています。

久々にDateオブジェクトの罠にはまった

JavaScriptで文字列表現からDateオブジェクトに変換する際にChromeSafari(あとEdgeも)は"yyyy-mm-dd"の表現が使えます。
ですが、FirefoxIEでは日付の区切りは"/"しか扱えないためエラーになります。

MySQLからdatetimeの値を取得すると"yyyy-mm-dd"の形式になるため何も考えずに new Date("2016-05-27") とやるとFirefoxでは動かないわけです。
開発時はChromeで確認することが多いのでつい見落としてしまうんですよね……

おまけにDateオブジェクトは任意の書式の文字列に変換できないので自前でメソッドを作る必要があります。

文字列に変換する部分は自作ライブラリを使いましたが、その他にも細々としたところで不便なところがあるので今度からはMoment.jsを使ってみようかな……