web-wizardry

インターネット・スマホ、そしてテレビにwebの魔法をWizardry

new Date()ブラウザによって機能が違う!?

2017年05月12日 · javascriptjQuery

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で読込みをおこないました


Page top