ホームページ >ウェブフロントエンド >jsチュートリアル >Safari は「YYYY-MM-DD」または代替形式の日付を解析できますか?
Safari での「無効な日付」問題への対処
提供されたコード スニペットは、文字列表現から Date オブジェクトを作成しようとします。 Safari で問題が発生しました。これは、ブラウザが特定の日付形式を正しく解析できないことが原因です。
当初、「YYYY-MM-DD」形式 (例: '2010-11-29') の使用は、Chrome などの他のブラウザでは正常に機能しました。そしてFirefox。ただし、Safari では「無効な日付」エラーが発生しました。
この問題を解決するために、コードが変更され、別の日付形式「MM-DD-YYYY」、「DD-MM-YYYY」が試行されました。 、「YYYY-DD-MM」。残念ながら、これらのバリエーションはいずれも Safari では成功しませんでした。
この小さな問題に対してはやや行き過ぎであると考えられますが、解決策の 1 つは、Moment.js や Date-fns などの専用の日付解析ライブラリを使用することです。これらのライブラリは、ブラウザ全体で堅牢な日付処理機能を提供します。
あるいは、より簡単な方法は、正規表現を使用して日付文字列を Safari と互換性のある形式に変換することです。
console.log(new Date('2011-04-12'.replace(/-/g, "/")));
次のように置き換えます。ハイフン (-) とスラッシュ (/) を組み合わせた日付文字列は、Safari の日付解析ロジックと互換性があります。この方法は比較的簡単で効果的で、追加のライブラリは必要ありません。
以上がSafari は「YYYY-MM-DD」または代替形式の日付を解析できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。