ホームページ > 記事 > ウェブフロントエンド > Internet Explorer でのブラウザ間の互換性のために NaN 日付コンストラクターの問題を解決するにはどうすればよいですか?
IE で Date コンストラクターが NaN を返す: クロスブラウザー ソリューション
JavaScript で、新しい Date() コンストラクターを使用して Date オブジェクトを作成するは、Internet Explorer (IE) で使用すると NaN 値を返す一方で、Firefox や Chrome などのブラウザーではシームレスに動作することが知られています。これにより、日付と時刻に関連する機能を処理するときに問題が発生する可能性があります。
この問題に対処するには、この不一致の背後にある根本的な理由を理解することが不可欠です。 IE では、他のブラウザとは異なる日付文字列の解釈方法を採用しています。ブラウザ間の互換性を確保するために、より汎用性の高いアプローチを利用して日付文字列を解析し、すべての主要なブラウザで一貫して動作する Date オブジェクトを作成できます。
提供されるソリューションには、MySQL datetime/ から取得した日付文字列の変換が含まれます。タイムスタンプ フィールドを JavaScript Date オブジェクトに変換します。このアプローチでは、日付文字列をコンポーネント (年、月、日、時、分、秒) に分割し、Date コンストラクターを使用して、これらの抽出されたコンポーネントを使用して新しい Date オブジェクトを作成します。
実装例は次のとおりです。このアプローチの特徴:
var dateStr = "2011-08-03 09:15:11"; // Returned from MySQL timestamp/datetime field var a = dateStr.split(" "); var d = a[0].split("-"); var t = a[1].split(":"); var date = new Date(d[0], (d[1] - 1), d[2], t[0], t[1], t[2]); console.log(date); // Outputs a valid Date object
このメソッドは、指定された文字列から Date オブジェクトを正常に作成し、Internet Explorer、Firefox、Chrome で一貫して動作します。このアプローチを利用することで、開発者は日付関連の操作がすべての主要なブラウザーで適切に機能することを確認できます。
以上がInternet Explorer でのブラウザ間の互換性のために NaN 日付コンストラクターの問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。