new Date()ブラウザによって機能が違う!?
2017年05月12日 · javascript|jQuery
new Dateを利用するときはアクセスしたタイミングなど利用することがあったりしますが
今回は指定された日時でnew Dateを利用した時にChromeとSafariで動作が違ったので
見直しをする手間が発生したのでメモをこちらにも記載しておきます
new Dateをどう利用していたか
指定の日時をnew Dateで分割する
var D = new Date(2017-05-12 16:12:37)
「2017-05-12」の日付がどうやらChromeとSafariだと不具合が発生してしまうようです
Chromeだと分割可能
Safariだと分割不可でNullが帰ってきてしまう
new DateでのChromeとSafariでどちらも動かしたい場合
「2017-05-12」の日付にあるハイフンがどうやら悪さをしているようです
ハイフンをスラッシュに変更すると動作することを確認、日付のところはハイフンの状態でしか取得できないという状態でした・・・・
そこで、ハイフンをスラッシュに変更するスクリプトを用意すればSafariでもデータを取得することができるようになります
var dayText = 2017-05-12 16:12:37 dayText = dayText.replace( /-/g , "/" ) ; var D = new Date(dayText)
replaceの機能を使用してハイフンをスラッシュに置き換えをしてDateで読込みをおこないました