この奇妙な問題に直面しているのは、javascriptオブジェクトのデフォルトの日時形式が「dd / mm/yyyy」から「mm/dd / yyyy」に変更されたためです。これにより、多くの無効な日付が取得されます。
これは1台のマシンにのみ制限されています(マシンを使用しているのは私だけではないので、誰かがシステムの日付などを台無しにしたことは間違いありません)、
問題はマシンにのみ限定されていることはわかっていますが、これが発生した理由と、これを解決する方法を見つけたいと思います。
この奇妙な問題に直面しているのは、javascriptオブジェクトのデフォルトの日時形式が「dd / mm/yyyy」から「mm/dd / yyyy」に変更されたためです。これにより、多くの無効な日付が取得されます。
これは1台のマシンにのみ制限されています(マシンを使用しているのは私だけではないので、誰かがシステムの日付などを台無しにしたことは間違いありません)、
問題はマシンにのみ限定されていることはわかっていますが、これが発生した理由と、これを解決する方法を見つけたいと思います。
ここにいくつかの情報がありません。標準のDateオブジェクトは、DMY形式の日付またはMDY形式の日付を理解しません。代わりに、日付にISO 8601形式(またはRFC2822)を使用します。したがって、たとえば、特定のブラウザが理解している場合
var d = new Date("5/6/2012");
2012年5月5日または2012年6月5日として、または完全に無視すると、完全にブラウザに依存します。標準では、「YYYY-MM-DD」などの形式でフォーマットされた日付が想定されています。
また、のパラメータ
var d = new Date(5/6/2012);
は、5を6で割った値を2012で割った値として解釈されます。これは、ゼロより少し大きい数です。これは、基準日の時間、つまり1970年1月1日として解釈されます。
したがって、基本システムの地域設定が影響を与えるには、日付をDMYまたはMDYなどとしてフォーマットする他のコードがどこかにある必要があります。