Chrome hat Weihnachten gestohlen

    Ich liebe meinen Beruf. Sie sitzen, berühren niemanden, Sie reparieren einen Primus, Sie schreiben einen Code. Ein Tester kommt auf Sie zu und sagt, dass im Kalender auf der Website für 2015 kein Weihnachtsfest steht. Du antwortest ruhig, dass dies nicht der Fall ist, öffnest die Seite bei dir und zeigst, dass alles in Ordnung ist. Hier ist nur ein Tester dabei, der es nicht einfacher macht. Weil er wirklich kein Weihnachten hat.

    Suchen Sie nach einem Problem


    Als erstes vergleichen wir die Browser. Der Fehler wird nur in Chrom wiederholt. Und aus irgendeinem Grund nur mit Testern. Wir schauen weiter. Ich wiederhole die Aktionen eins zu eins. Die Ergebnisse fallen unterschiedlich aus. Wir beginnen die Daten zu sortieren:

    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 (лето))
    

    Vergleichen Sie mit meinem Ergebnis:

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

    Und eine lustige Folge:

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


    RTZ


    Das Rätsel wurde gelöst und stellte sich als sehr alltäglich heraus. Am 23. September veröffentlichte Microsoft das Update KB2998527 (ein separater, ausführlicherer Beitrag zu diesem Ereignis). Wie sich herausstellte, erreichte das Update nicht alle Computer und aus irgendeinem Grund hatten Tester das größte Glück. Der einzige Browser, der mit der neuen Zeitzone nicht richtig funktionierte, war nur Chrome. Es ist erwähnenswert, dass nicht Weihnachten verschwindet, sondern jeden ersten Mittwoch des neuen Jahres (anscheinend im Zusammenhang mit dem Übergang zur Sommerzeit, ja). Ergebnis - Kalender, die in js geschrieben sind, sind oft falsch und zeigen falsche Daten an:

    Jetzt auch beliebt: