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分間外に出て人々を撃つことはとてもユニークです。迷惑