Mam system Windows 7 Professional z automatycznymi aktualizacjami (więc wszystkie poprawki powinny zostać zastosowane). Jestem w strefie czasowej EST / EDT (Nowy Jork). Pole czasu Panelu sterowania ma zaznaczoną opcję „użyj czasu letniego”. DST po prostu „skoczył do przodu” w niedzielę. Próbowałem zastosować poprawkę od sierpnia ubiegłego roku (KB2863058) i mówi, że jest już zainstalowany.
W polu Wiersz polecenia (wiersz poleceń DOS) „dir” podaje poprawny czas dla pliku, który właśnie zaktualizowałem, a także zaktualizowany dwa miesiące temu (w czasie standardowym). Zegar w prawym dolnym rogu ekranu podaje prawidłowy czas. Jednak Eksplorator Windows podaje godzinę wcześniej pliki zmodyfikowane ostatnio w czasie standardowym.
Na przykład,
dir C:\Users\Phil\Desktop\content
daje mi
01/24/2014 12:36 PM 4,524 ContentList.txt
podczas wyświetlania Eksploratora Windows Desktop> zawartość
ContentList.txt 1/24/2014 11:36 AM Text Document
To godzina przerwy, jakby DST nie został zastosowany. Czy to znany błąd systemu Windows? Nie widziałem żadnych raportów na ten temat. Ponieważ „dir” i WinExp zgadzają się na właśnie zmodyfikowany plik, myślę, że to WinExp jest wyłączone. Użyłem nazwy pliku -M $ Perla (z $ ^ T), aby uzyskać wiek plików w ułamkowych dniach, a wiek pracy ręcznie daje czas dwie godziny później niż WinExp (13:36 w powyższym przykładzie). Zakładam, że godzina 1 odpowiada DST, ale druga?
Podsumowując, dla tego samego pliku (ostatnio zmodyfikowanego w czasie standardowym):
Windows Explorer 11:36 AM
Command Prompt 12:36 PM
Perl -M operator 1:36 PM
W przypadku pliku zmodyfikowanego dzisiaj wszystkie trzy razy są zgodne. Kto ma rację, a kto się myli? Sądzę, że różne sposoby wyświetlania czasu powinny być zgodne co do tego, czy stosuje się czas letni.
źródło
Odpowiedzi:
Wydaje się, że jest to błąd z
DIR
wynikami wiersza polecenia , a nie z Eksploratorem Windows.Jest bardzo łatwy do odtworzenia:
DIR
.DIR
wyświetla go godzinę wcześniej.Na NTFS, czasy plików są przechowywane w UTC, więc wydaje się, że
DIR
komenda bierze bieżącego datę za DST pod uwagę podczas konwertowania plików z czasów UTC na czas lokalny. Powinien wykorzystywać czas plików na tę decyzję.źródło