クロームはクリスマスを盗んだ

私は自分の職業が大好きです。 座って、誰にも触れないで、プリムス修正して、コードを書きます。 テスターがあなたに近づき、2015年のサイトのカレンダーにはクリスマスがないと言います。 あなたは静かにこれが起こらないと答え、あなたの場所でページを開いて、すべてがうまくいくことを示します。 これは簡単ではないからテスターです。 彼には本当にクリスマスがないからです。



さて、問題を探してください



最初に行うことは、ブラウザーの比較です。 エラーはクロムでのみ繰り返されます。 そして、何らかの理由で、テスターのみ。 さらに調べます。 アクションを1対1で繰り返します。 結果は異なります。 日付のソートを開始します。



new Date(2015, 0, 6); Tue Jan 06 2015 00:00:00 GMT+0300 (RTZ 2 ()) new Date(2015, 0, 7); Tue Jan 06 2015 23:00:00 GMT+0300 (RTZ 2 ()) new Date(2015, 0, 8); Thu Jan 08 2015 00:00:00 GMT+0400 (RTZ 2 ())
      
      





私の結果と比較してください:



 new Date(2015, 0, 7); Wed Jan 07 2015 00:00:00 GMT+0300 (Russian Standard Time)
      
      





そして面白い結果:



 new Date(2015, 0, 6).getDate() === new Date(2015, 0, 7).getDate(); true
      
      







RTZ



謎は解決され、非常にありふれたものであることが判明しました。 9月23日に、Microsoftは更新KB2998527 (このイベントに関する別の詳細な投稿 )をリリースしました。 結局のところ、更新プログラムはすべてのコンピューターに届かず、何らかの理由でテスターが最も幸運でした。 新しいタイムゾーンで正しく動作しなかったブラウザはクロムのみでした。 消えるのはクリスマスではなく、新年の最初の毎週水曜日であることは注目に値します(明らかに夏時間への移行に関連して)。 結果-jsで書かれたカレンダーはしばしば間違っており、間違った日付を表示します:








All Articles