ホームページ >ウェブフロントエンド >jsチュートリアル >Safari は「YYYY-MM-DD」または代替形式の日付を解析できますか?

Safari は「YYYY-MM-DD」または代替形式の日付を解析できますか?

DDD
DDDオリジナル
2024-10-21 17:50:30944ブラウズ

Can Safari Parse Dates in 'YYYY-MM-DD' or Alternative Formats?

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 サイトの他の関連記事を参照してください。

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