3

У меня Windows 7 Professional, с автоматическими обновлениями (поэтому все патчи должны были быть применены). Я нахожусь в часовом поясе EST/EDT (Нью-Йорк). В окне времени панели управления установлен флажок "использовать DST". DST просто "прыгнул вперед" в воскресенье. Я попытался применить патч с августа прошлого года (KB2863058), и он говорит, что он уже установлен.

В окне командной строки (командной строки DOS) "dir" указывает правильное время для файла, который я только что обновил, а также для файла, обновленного два месяца назад (в стандартное время). Часы на правом нижнем углу экрана показывают правильное время. Тем не менее, Windows Explorer дает время на час раньше для файлов, которые были изменены в последний раз в стандартное время.

Например,

dir C:\Users\Phil\Desktop\content

дает мне

01/24/2014  12:36 PM    4,524  ContentList.txt

в то время как Windows Explorer Desktop> содержимое показывает

ContentList.txt    1/24/2014 11:36 AM  Text Document

Это час отдыха, как будто DST не был применен. Это известная ошибка Windows? Я не видел никаких сообщений об этом. Поскольку "dir" и WinExp согласовывают только что измененный файл, я думаю, что WinExp отключен. Я использовал Perl -M $ filename (с $ ^ T), чтобы получить возраст файлов в дробных днях, а ручная работа над временем дает время на два часа позже, чем WinExp (13:36 в приведенном выше примере). Я полагаю, 1 час приходится на летнее время, а другой?

Подводя итог, для того же файла (последний раз измененный в течение стандартного времени):

Windows Explorer   11:36 AM
Command Prompt     12:36 PM
Perl -M operator    1:36 PM

Для файла, измененного сегодня, все три раза согласованы. Кто прав, а кто нет? Я думаю, что различные способы отображения времени должны согласовывать применение DST.

1 ответ1

3

Кажется, это ошибка в результатах командной строки DIR , а не в проводнике Windows.

Это очень легко воспроизвести:

  • Установите часы до начала летнего времени, например, 1 марта.
  • Создайте или измените файл.
  • Проверьте время ваших часов, затем время файла в проводнике Windows и с помощью DIR .
  • Установите ваши часы обратно на сегодня и правильное время.
  • Проверьте время файла еще раз. Вы увидите, что Windows Explorer сохраняет правильное время, но DIR отображает его на час вперед.

В NTFS все времена файла хранятся в UTC, поэтому может показаться, что команда DIR учитывает DST текущей даты при преобразовании времени файла из UTC в местное время. Надо использовать время файлов для этого решения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .