Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » прыжки времени изменения файлов при переходе на летнее время

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Известный неприятный факт: при включении в настройках Windows XP/Vista/7/8 опции автоматического учёта перехода на летнее время (Automatically adjust clock for Daylight Saving Time) у файлов и папок "скачет" время файлов. (Обычно в этой связи говорят о времени последней модификации (last modification time), но в такой же степени это касается и остальных timestamps, то есть, времени создания (created time) и времени последнего доступа (last access).)
 
Файлы и папки, изменённые в период летнего времени, в остальную часть года имеют время модификации на час меньше реального (скажем, вместо действительного 30.06.2013, 00:00 система считает файл изменённым в 01.07.2013, 01:00). И, наоборот Подробнее...
 
Самая большая загадка, что сдвиг штампов времени почему-то происходит не у всех файлов - и мне до сих пор не удалось понять, от каких критериев это может зависеть.
 
Как-нибудь можно бороться с этой напастью? Пытался искать ответы в Гугле, но ничего путного не нашёл
 
Заранее спасибо!
 
Добавлено:
Да, забыл объяснить ещё одну вещь. Может показаться, что эта проблема надумана, ну, подумаешь, какая разница, часом больше, часом меньше... Однако на самом деле проблема имеет быть. Подробнее...

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 21:55 02-03-2014 | Исправлено: oshizelly, 21:08 30-04-2014
tamalex

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
23 августа 2011 года выпущено обновление, после которого в настройках просто нет вообще опции выбора перехода на летнее и зимнее время.
http://support.microsoft.com/kb/2570791/ru

Всего записей: 2169 | Зарегистр. 28-10-2005 | Отправлено: 22:37 02-03-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tamalex 20:37 02-03-2014
Цитата:
23 августа 2011 года выпущено обновление, после которого в настройках просто нет вообще опции выбора перехода на летнее и зимнее время.

Это не совсем так. Вернее, это зависит от выбора часового пояса. Попробуйте поменять временной пояс, к примеру, на восточно-европейское время, или на Киев, Преторию, Самбул, Хельсинки и так далее - короче, на любую страну, где местные власти тянут с исполнением указа президента Медведева об отмене перехода на летнее время.
 
Так что вопрос остаётся в силе.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 23:11 02-03-2014 | Исправлено: oshizelly, 23:22 02-03-2014
Firza

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
короче, на любую страну, где местные власти тянут с исполнением указа президента Медведева об отмене перехода на летнее время.

Да уж непорядок. Kак эти «другие страны» вообще посмели не выполнять указа президента Медведева.
 

Всего записей: 273 | Зарегистр. 01-09-2004 | Отправлено: 02:06 03-03-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, забыл сказать ещё одно. Кое-где утверждается (например в одном старом топике 2006 года на iXBT.com), что время модификации прыгает только у файлов и папок на разделах NTFS, а с FAT32 такой проблемы нет.
 
Однако похоже, что это утверждение верно только для Windows XP. Там я и сам этим пользовался, специально создал отдельный том с системой FAT32 для файлов, у которых правильное отображение времени модификации имело значение. Однако с переходом на Windows 7 и этот трюк больше не срабатывает: теперь время модификации прыгает даже у файлов и папок на разделах FAT32
 
Alex_Piggy 22:51 02-03-2014
Цитата:
Единственное что приходит в голову - для получения времени использовать wmic datafile. Там вроде время не калечится... Но мороки...  
Код:
set "filename=%~f1"  wmic datafile where "Name = '%Filename:\=\\%'" get LastModified > "%temp%\wmic.txt"  for /f "skip=1 delims=." %%i in ('type "%temp%\wmic.txt"') do set "filetime=%%i"  set "filetime=%filetime:~0,4%.%filetime:~4,2%.%filetime:~6,2% %filetime:~8,2%:%filetime:~10,2%:%filetime:~12,2%"  echo %filetime%

Спасибо, попробую. Но это в любом случае решает проблему только частично, для батников.
 

Цитата:
PS. Почитайте на iXBT.com Зависимость времени создания файла от летнего/зимнего времени

Очень интересная ссылка, спасибо. Однако решения они там так и не нашли. Может, за последние 7 лет ситуация изменилась?
 
Вот в этом посте внятно объясняется суть проблемы:

Цитата:
На самом деле не так. Виноваты программисты, писавшие поддержку FAT. Win32 API писалось под Windows NT, там в NTFS время хранилось в честном UTC, а за конвертацию в местное время отвечали пользовательские программы. Но в FAT время хранится не в UTC, а в локальной зоне, поэтому нужно было сделать обратную конверсию в UTC. При реализации файловых функций в этом месте допустили ошибку - использовали текущее значение смещения временной зоны. Соответственно, пользовательские программы тоже были вынуждены использовать текущее значение - иначе при переходе на летнее время у них бы выводимое время не соответствовало бы нужному. Под Win95/98/ME это было незаметно, т.к. там не было NTFS, а ошибка в реализации Win32 API компенсировалась некорректной работой программ. При переходе на Windows NT/XP это и стало выплывать, т.к. там под NTFS эта ошибка отсутствует.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 02:07 03-03-2014 | Исправлено: oshizelly, 12:13 03-03-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В том же упомянутом выше топике на iXBT.com другой пост того же самого товарища:

Цитата:
на самом деле винды ничего не меняют в атрибутах файлов при смене часового пояса или летнего/зимнего времени. Меняется его отображение в не совсем корректно написаных пользовательских программах.  
Дата/время в файлах в винде хранится в UTC (без смещения), поэтому не зависят от текущего пояса. Проблема со смещением на час возникает при конвертации из UTC в локальное время - обычно программы для этого берут текущее смещение, в то время как следует брать смещение, которое действовало на момент создания файла.

Но, простите, а штатный Windows 7 Explorer тоже надо считать "не совсем корректно написанной пользовательской программой"? Ибо время модификации файлов скачет в нём точно так же, как и других файловых менеджерах, например, в Total Commander.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 12:21 03-03-2014
Nikoderiko

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly: не должно скакать.
У меня, например, не скачет и не скакало.
Дело, вероятно не во времени модификации, а в каких-то некорректно примененных твиках системы.
 
Из вашего сообщения не ясно, какая локаль, и как именно вы тестируете смену времени - перевод-то с летнего на зимнее последний раз был полгода назад.
 
Возможно, система видит реальное UTC время (проверяет в интернете или вычисляет по батарейке в Биосе), и пытается снивелировать последствия ваших скачков туда-сюда во время тестов системы.

Всего записей: 808 | Зарегистр. 17-07-2002 | Отправлено: 12:41 03-03-2014 | Исправлено: Nikoderiko, 12:42 03-03-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nikoderiko 10:41 03-03-2014
Цитата:
Из вашего сообщения не ясно, какая локаль,

Локаль - в смысле язык интерфейса? Вообще-то винда у меня английская, но вряд ли это имеет сюда отношение.  
А если имеется в виду часовой пояс (time zone) - то абсолютно любая, для которой предусмотрен переход на летнее время (имеется соответствующая опция в диалоге - смотри скриншот).
 

 
 
А у вас какая?
 
 

Цитата:
 Дело, вероятно не во времени модификации, а в каких-то некорректно примененных твиках системы.

В каких твиках???!!! У меня почти свежеустановленная винда, не успел ещё никаких твиков применить
 

Цитата:
как именно вы тестируете смену времени

Да никак я не тестирую. Просто смотрю, как отображается время модификации/создания/последнего доступа файлов, созданных в период действия летнего времени. Для некоторых файлов я точно знаю, какие там должны быть штампы времени - а то, что я сейчас вижу, отличается на 1 час.
 

Цитата:
перевод-то с летнего на зимнее последний раз был полгода назад.

??? И что из этого следует? Непонятен смысл замечания.  
 
 

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 14:34 03-03-2014 | Исправлено: oshizelly, 14:39 03-03-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кстати, ещё одно наблюдение: если отключить автоматический переход на летнее время или, что по сути то же самое, выбрать зону, для которой летнее время не предусмотрено, то время файлов перестаёт прыгать.  
 
Зато в системе появляются другие проблемы, которые ещё хуже, например, искажается время сообщений в почтовых клиентах. Так что это тоже не вариант

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 21:11 30-04-2014
thelamb

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly
 Как то не задумывался. Но ведь есть компы, в которых часы вообще плохо работают и время приходится править вручную. При смене батарейки, время ведь тоже сбрасывается и в БИОС-е надо его впечатывать заново. И что у файлов время будет прыгать? Если нет, то выбрать, как вы пишете, зону, а часы переводить два раза в год вручную. Катсти в России собираются вновь применить переход зима\лето. И ещё. Кажется, где то в настройках, попадалась опция не менять дату и время файла при .... точно не помню и даже не помню, где именно мне это попадалось.

Всего записей: 4968 | Зарегистр. 25-11-2004 | Отправлено: 22:04 30-04-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
thelamb 21:04 30-04-2014
Цитата:
При смене батарейки, время ведь тоже сбрасывается и в БИОС-е надо его впечатывать заново. И что у файлов время будет прыгать?  

Нет, конечно. Штампы времени файлов хранятся в таблицах файловой системы на диске, а не в биосе.
 

Цитата:
 Если нет, то выбрать, как вы пишете, зону, а часы переводить два раза в год вручную.

Это решение пришло мне в голову одним из первых. Но если вы переведёте взгляд на 1 сообщение выше, то увидите, почему это тоже не подходит.
 

Цитата:
 Кажется, где то в настройках, попадалась опция не менять дату и время файла при .... точно не помню

Даже не представляю себе, о чём там могла быть речь. Если сможете вспомнить, то, пожалуйста,  сообщите.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 22:11 30-04-2014
thelamb

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вряд ли вспомню, если только снова туда попаду. Но кажется это было не то, что вам нужно. Там вроде было что то о правке файла и при этом чтобы время правки не отображалось в свойствах, а оставалось прежним. Кажется касалось .txt не помню.

Всего записей: 4968 | Зарегистр. 25-11-2004 | Отправлено: 22:27 30-04-2014
pikorembo



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Время на NTFS-разделах хранится в UTC-формате, если вы меняете часовой пояс или переходите на летнее/зимнее время, отображение времени файлов в Проводнике меняется соответственно. К примеру, файл был изменен 1 мая в 22:00 по Гринвичу. Если Ваш часовой пояс UTC+07:00, значит вы увидите в Проводнике 2 мая 05:00. Перешли на летнее время (+1 час), увидите в Проводнике 2 мая 06:00. Поясните, что не так?

Всего записей: 279 | Зарегистр. 29-01-2014 | Отправлено: 00:21 01-05-2014 | Исправлено: pikorembo, 00:23 01-05-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikorembo 23:21 30-04-2014  
Цитата:
значит вы увидите в Проводнике 2 мая 05:00. Перешли на летнее время (+1 час), увидите в Проводнике 2 мая 06:00. Поясните, что не так?

Всё описали правильно, именно в том и заключается проблема, что время файла меняется.  
После перехода на летнее время не только я увижу в Проводнике, а вообще любое приложение будет считать временем модификации этого файла 2 мая 06:00. А если это не 05:00, а 23:00, то изменится ещё и дата: это будет уже 3 мая 00:00. (Впрочем, как я уже писал, это происходит почему-то не у всех файлов, но я не смог понять, от чего это зависит.)
 
А теперь представьте, что время и дата файлов являются не случайными, а значимыми. Допустим, на этом построена работа инструментов автоматизации. Или у вас на компе хитрая система учёта документов, в которой время модификации файла присваивается вручную и указывает на версию документа. Получается, что некий файл летом у вас содержит 5-ю версию документа, а зимой - 6-ю??    

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 01:20 01-05-2014 | Исправлено: oshizelly, 01:21 01-05-2014
pikorembo



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly

Цитата:
происходит почему-то не у всех файлов

Вы можете наблюдать такое поведение, например, на флешках. Файловая система FAT хранит время в локальном часовом поясе, поэтому на разделах с этой файловой системой время "не прыгает".

Цитата:
у вас на компе хитрая система учёта документов

"Хитрая система учета документов" является компьютерной программой, поэтому она должна уметь работать с временем не только в строковом формате ("1 мая 22:00"), но и в двоичном (100-наносекундный счетчик). Тогда у нее не будет таких проблем, потому что при смене часового пояса (или переходе на летнее/зимнее время) информация о штампе времени файлов на диске не изменяется. Меняется только отображение времени в различных программах в соответствии с настройками вашего часового пояса.  
 
У вас есть 2 варианта решения этой проблемы:
1) попросить разработчика программы "научить" ее правильно конвертировать время и работать в формате UTC;
2) перевести раздел диска, где хранятся файлы для этой программы, на файловую систему FAT.
 
Советую воспользоваться вторым вариантом

Всего записей: 279 | Зарегистр. 29-01-2014 | Отправлено: 02:05 01-05-2014 | Исправлено: pikorembo, 02:40 01-05-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikorembo 01:05 01-05-2014  
Цитата:
Файловая система FAT хранит время в локальном часовом поясе, поэтому на разделах с этой файловой системой время "не прыгает"...
2) перевести раздел диска, где хранятся файлы для этой программы, на файловую систему FAT.

Именно этим вариантом я пользовался много лет на машине под Windows- XP x32. И меня такое решение абсолютно устраивало.
 
Однако на новой машине под Windows- 7 та же беда поразила неожиданно (для меня) и раздел FAT32, где хранились эти файлы. Посмотрите вот этот пост ближе к началу данного топика.
 

Цитата:

Цитата:
происходит почему-то не у всех файлов  
 Вы можете наблюдать такое поведение, например, на флешках. Файловая система FAT

Да нет, это тут ни при чём. Скажем, 100 файлов на одном и том же разделе, даже в одной папке. Из них, допустим, 50 имеют время модификации в пределах действия зимнего времени. Но у некоторых из них время ожидаемо съехало на 1 час вперёд, а у других - нет. Почему? Загадка века... Пока есть рабочая гипотеза, что Подробнее...

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 04:17 01-05-2014 | Исправлено: oshizelly, 04:20 01-05-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ALL
А может, это только у меня проблема, а у всех остальных - нет?
Проверьте, пожалуйста, кто может, меняется ли время модификации файлов на логических разделах FAT32 при переходе на летнее/зимнее время.

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 10:33 01-05-2014
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly
Временные метки файлов не прыгают. Меняется их отображение в программах.
Представьте себе - при переходе на летнее время операционная система пробегает по миллиону файлов и смотрит - тут время надо сдвинуть на час, а тут не надо?
Ищите программу которая трогает ваши файлы, причем выборочно

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 12:43 01-05-2014
oshizelly



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer 11:43 01-05-2014
Цитата:
 Ищите программу которая трогает ваши файлы, причем выборочно

Да нет никакой программы, тем более, что некоторые разделы вообще защищены от записи. Речь именно о том, что при переходе на летнее/зимнее время отображаемое системой время модификации у одних файлов изменяется, а у других - нет (То же самое происходит и при включении/отключении опции автоматического перехода на летнее время, а также смене временнОй зоны с поддержкой летнего времени на зону, где такой опции не предусмотрено.)
 
Причём время модификации файлов на разделах с NTFS и FAT32 при отключении летнего времени изменяется диаметрально противоположным образом.  Подробнее...
 

Цитата:
Временные метки файлов не прыгают. Меняется их отображение в программах.

Да, не прыгают, я и не утверждал обратного, разве что пропустил некоторые слова для краткости, чтобы не писать каждый раз: "время модификации файла, отображаемое пользовательскими приложениями".
 
Тем не менее вопрос не так прост, как может показаться. Дело не только в "отображении", то есть, в том, какие циферки и буковки видит пользователь своими мутными глазами. Время файлов не меняется, но система и пользовательские приложении считают, что оно изменилось - а с функциональной точки зрения, это то же самое.
Проведите простой эксперимент: запустите в любом приложении (поисковой проге, архиваторе, файловом менеджере, батнике командной строкой и т.д.) простую команду с условием, допустим, отобразить все файлы с временем модификации, допустим, с 23:00 29.03.2014 до 01:00 30.03.2014. Примените её к достаточно большой выборке файлов с временем модификации, разбросанным вдоль этого интервала. Теперь включите (или, наоборот, отключите) переход на летнее время. Вы увидите, что число отобранных файлов в обоих случаях не совпадёт! Так что не только "отображение в программах".
 


Цитата:
Представьте себе - при переходе на летнее время операционная система- пробегает по миллиону файлов и смотрит - тут время надо сдвинуть на час, а тут не надо?

Чисто теоретически, безотносительно к обсуждаемой теме, ваше предположение не кажется невероятным. Сколько микросекунд занимает изменение данных в записи одного файла в файловой таблице? Когда вы в последний диск проверяли диск с испорченным MFT, много ли времени заняли операции чтения и исправления записей в файловой таблице?

Всего записей: 6524 | Зарегистр. 18-09-2004 | Отправлено: 15:14 01-05-2014 | Исправлено: oshizelly, 15:19 01-05-2014
pikorembo



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oshizelly

Цитата:
Однако на новой машине под Windows- 7 та же беда поразила неожиданно (для меня) и раздел FAT32, где хранились эти файлы.

По вашей просьбе я сделал проверку в Windows 7, такая проблема действительно существует на разделах FAT.

Цитата:
Но у некоторых из них время ожидаемо съехало на 1 час вперёд, а у других - нет.

При переходе на летнее/зимнее время может наблюдаться изменение времени файлов на один час. Это последствия кеширования метаданных во время работы с файловой системой FAT. На самом деле время файлов на диске не изменяется, но в программах оно отображается неправильно.
 
Решение: после перехода на летнее/зимнее время просто перезагрузите компьютер, и все встанет на свои места

Всего записей: 279 | Зарегистр. 29-01-2014 | Отправлено: 15:22 01-05-2014 | Исправлено: pikorembo, 15:35 01-05-2014
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » прыжки времени изменения файлов при переходе на летнее время


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru