最近モバイル Web に取り組んでいたとき、PC 上の Chrome でデバッグに成功しましたが、iPhone でテストすると奇妙な問題が発生しました。一連のデバッグの結果、日付に関連する問題があることが判明しました。最初は実稼働環境の問題かと思いましたが、Mac 版 Safari を使用してローカルでデバッグしたときにも同じ問題が発生しました。いくつかの情報を調べた結果、Safari の JavaScript の新しい Date 関数のサポートに奇妙な問題があることがわかりました。
通常、SQL の日時形式に慣れているため、日付は yyyy-mm-dd 形式で表示されますが、Safari はそのような形式をサポートしていないため、次のステートメントを入力すると空の時刻が返されます。
new Date('2016-04-17');
Safari でサポートされている形式は yyyy/mm/dd です。主な違いはダッシュとスラッシュ / にあり、スラッシュ形式は他の一般的なブラウザでも正常に実行できるので、必要なだけです。変換関数は次のとおりです: