これは Chrome では機能しますが、Firefox では機能しません。
new Date("2013-06-03 17:09:06-0400")
- Chrome で正常に動作する
- Firefox では「NaN」を返します。
助けていただければ幸いです。
これは Chrome では機能しますが、Firefox では機能しません。
new Date("2013-06-03 17:09:06-0400")
助けていただければ幸いです。
Mozilla Developer Network のDateおよびDate.parseドキュメントを見てください。
具体的には、次のように述べています。
または、日付/時刻文字列は ISO 8601 形式の場合もあります。JavaScript 1.8.5 (Firefox 4) 以降では、ISO 8601 のサブセットがサポートされています。たとえば、"2011-10-10" (日付のみ) または "2011-10-10T14:48:00" (日付と時刻) を渡して解析できます。
日付と時刻の間に「T」を入れると、次のようになります。
new Date("2013-06-03T17:09:06-0400")
=> Mon Jun 03 2013 14:09:06 GMT-0700 (PDT)
Chrome と Mozilla の両方で、ユーザーのシステムの現在のタイムゾーン (したがって PDT) を考慮する必要があります。
私の経験では、JavaScript で文字列から日付オブジェクトを構築する唯一の信頼できる方法は、自分で文字列を解析し、フィールドごとに個別の数値パラメーターを取るバージョンのコンストラクターを使用することです。
文字列ベースのコンストラクターは、ロケール関連の解析エラーの問題が発生しやすい傾向があります。