Uruchomiłem następujące w konsoli na Firefox (wersja 21) i mam wyniki, których się nie spodziewam.JavaScript wydaje się używać stref czasowych do tyłu z Firefoxem
new Date(1362891600000);
var date = new Date(1362891600000);
var time = date.getHours();
new Date(date.setHours(date.getHours() + 24));
Wynik naprawdę rzuca mnie na pętlę.
Pierwsza data wyświetla się jako Wschodniogodzina, a druga wyświetla się we wschodnim czasie standardowym. Jest całkowicie wstecz. Tak się nie dzieje z IE lub Chrome.
Co tu się dzieje?
Należy zauważyć, że chociaż etykiety "Eastern Daylight Time" i "Eastern Standard Time" są cofnięte, rzeczywiste przesunięcia stref czasowych w użyciu (GMT-0500 i GMT-0400) są poprawne. Jeśli numeryczne przesunięcie strefy czasowej i nazwa strefy czasowej nie pasują do siebie, to nie mogę sobie wyobrazić, że cokolwiek, co zrobiłeś źle, mogło to spowodować. Dlatego powiedziałbym, że to błąd przeglądarki Firefox! – Celada
@Celada dzięki ... to było coś, czego się bałem. Miałem nadzieję, że to jeden z tych "wygląda na to, że to błąd XYZ, ale w rzeczywistości to ja zrobiłem coś złego" rodzaj scenariuszy. – Joseph
Jest to z pewnością błąd w Firefoksie. Powinieneś prawdopodobnie zgłosić to do nich. Należy jednak pamiętać, że wszystko po offsecie jest niestandardowe, a obsługa znacznie różni się w różnych przeglądarkach i systemach operacyjnych. Możesz go wyświetlić użytkownikowi, ale nie polegaj na niczym krytycznym. –