ホームページ  >  記事  >  php教程  >  JS IOS/iPhoneのSafariブラウザがJavaScriptのDate()に対応していない問題の解決方法

JS IOS/iPhoneのSafariブラウザがJavaScriptのDate()に対応していない問題の解決方法

高洛峰
高洛峰オリジナル
2016-12-07 10:26:431610ブラウズ

var date = new Date('2016-12-6 11:11:11');
document.write(date);

最近、固定文字列時刻をタイムスタンプに変換して比較する必要がある時刻判定スクリプトを作成しています。このとき、コードが基本的に完成した後は、Chrome をデバッグ ツールとして使用することに慣れています。 ;

他のブラウザを使用してください。IE と Safari には互換性がないため、「無効な日付」というエラーが返されます。

文字列の形式に問題があるのではないかと思い、「2016/11/11 11:11:11」に変更して再度テストしました。結果は問題ないはずです。モバイルブラウザを使用してアクセスを続けました。iPhone は引き続きエラーを報告しました。その後、「2016 年 11 月 11 日 11:11:11」に変更しましたが、それでもエラーが報告されました。うまくいきませんでした。頭を悩ませた結果、フォーラムでこの解決策を見つけました:

var arr = "2016/11/11 11:11:11".split(/[- : \/]/),
date = new Date(arr[0], arr[1]-1, arr[2], arr[3], arr[4], arr[5]);
document.write(date);

ついにすべてのブラウザと互換性がありました。結論: iPhone の

Safari は YYYY などの時刻形式を解釈できません。 MM-DD HH:mm:ss または YYYY/MM/DD HH:mm:ss、Google Firefox などのブラウザはこの形式を拡張しています。iPhone の Safari でサポートされている形式は YYYY、MM、DD、HH です。 、うーん、この問題は私を長い間悩ませてきました、そして私は本当にAppleプログラマーを魅了したいと思っています、10分間外に出て人々を撃つことはとてもユニークです。迷惑

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。