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

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

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

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

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

XPerformer



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

Цитата:
Речь именно о том, что при переходе на летнее/зимнее время отображаемое системой время модификации у одних файлов изменяется, а у других - нет

система ничего не отображает.  
Отображают конкретные программы - Проводник, Тотал коммандер и т.п.
Вы не пишите, чем смотрите время модификации.

Цитата:
Время файлов не меняется, но система и пользовательские приложении считают, что оно изменилось - а с функциональной точки зрения, это то же самое.

да, это проблема.
Во многих приложениях бекапа и/или компаринга файлов есть галочка "ignore possible time zone differences" и что-то типа того
То есть я присоединяюсь к pikorembo - решение проблемы (как обычно) ложится на разработчика прикладной программы. Надо было запрашивать время в UTC и теперь сравнивать старое и новое время в той же "системе счисления".

Цитата:
ваше предположение не кажется невероятным

ну как бы да, нужно проверять и читать доку. Может так и есть, хотя дебилизм  
 
 
 
Добавлено:
pikorembo

Цитата:
после перехода на летнее/зимнее время просто перезагрузите компьютер, и все встанет на свои места

май месяц на дворе, наверное, все уже перегрузились хоть разок
а проблема осталась
 
Добавлено:
pikorembo
 

Цитата:
Это последствия кеширования метаданных во время работы с файловой системой FAT.

 
oshizelly
смотрите - система не только не меняет время модификации старых файлов - она его даже не перечитывает

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikorembo 14:22 01-05-2014  
Цитата:
По вашей просьбе я сделал проверку в Windows- 7, такая проблема действительно существует на разделах FAT....
Решение: после перехода на летнее/зимнее время просто перезагрузите компьютер, и все встанет на свои места

Э-э-г-м... Давайте уточним. То есть, вы за последние 5 недель после 29.03.2014 г. ни разу не перезагружали свой комп? Поэтому при первой проверке у вас была такая же проблема, как у меня? После этого вы наконец-то перезагрузились (для чистоты эксперимента) - и теперь проблема на FAT32 исчезла, то есть, при включении/отключении летнего времени время модификации/создания/последнего доступа к "зимним" файлам не изменяется. Так?
 
XPerformer 14:35 01-05-2014  
Цитата:
ну как бы да, нужно проверять и читать доку. Может так и есть, хотя дебилизм  

Маловероятно. Я просто привёл пример, что предложенная вами в качестве заведомо "абсурдной" версия на самом деле таковой не является
 

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

А некоторые, вроде меня, и по нескольку раз.

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



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

Цитата:
То есть, вы за последние 5 недель после 29.03.2014 г. ни разу не перезагружали свой комп?

В моем часовом поясе перехода на летнее/зимнее время не существует. Проверку FAT я сделал исключительно по вашей просьбе, потому что сам не использую эту файловую систему, предпочитаю NTFS и exFAT

Цитата:
и теперь проблема на FAT32 исчезла

Цитата:
а проблема осталась

Нужно понимать, что проблема никуда не исчезла и не исчезнет. Это особенность работы операционной системы с FAT. Я имел ввиду, что сразу после перевода стрелок часов на 1 час (весной и осенью) отображение времени файлов в программах меняется, и чтобы восстановить прежнее отображение, нужно перезагрузить компьютер. И так каждый раз

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



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

Цитата:
 предложенная вами в качестве заведомо "абсурдной" версия на самом деле таковой не является

именно это я и признал
 
Как запретить переход на летнее время? такой возможности теперь нет в Winfows7

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikorembo 15:41 01-05-2014  
Цитата:
В моем часовом поясе перехода на летнее/зимнее время не существует. Проверку FAT я сделал исключительно по вашей просьбе, потому что сам не использую эту файловую систему,

Да, я так и понял, что делали по моей просьбе, и я за это искренне признателен.  
Вот только я не совсем понимаю, что именно и как именно вы проверяли. Не затруднило бы чуть-чуть это пояснить?
 

Цитата:
сразу после перевода стрелок часов на 1 час (весной и осенью) отображение времени файлов в программах меняется, и чтобы восстановить прежнее отображение, нужно перезагрузить компьютер

И опять попрошу уточнить: что именно имеется в виду под "прежним отображением"? Без сдвига на 1 час?
Спасибо!
 
XPerformer 15:42 01-05-2014  
Цитата:
Как запретить переход на летнее время? такой возможности теперь нет в Winfows7

Как это нет?
В тех часовых зонах, в которой (законодательно) предусмотрен переход на летнее время, эта опция, по умолчанию, включена, но её можно отключить, сняв галочку.
Другое дело, что во многих зонах, включая Россию, наоборот, нельзя включить переход на летнее время. Но всегда можно подобрать зону того же часового пояса, в которой переход на летнее время предусмотрен. Например, в одной часовой зоне с Москвой UTC +04.00 без опции перехода на летнее время имеется зона UTC +04.00 для Баку с опцией летнего времени. (Впрочем, в целях эксперимента можно выбрать хоть Аляску с UTC -09.00, никаких неприятностей для системы это не повлечёт.)
 
Вот скриншот на всякий случай:  

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



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

Цитата:
что именно и как именно вы проверяли

Я переводил часы так, чтобы ровно через минуту сработал переход на летнее/зимнее время. И наблюдал в Проводнике, как меняется отметка времени у файла на диске с FAT32.

Цитата:
что именно имеется в виду под "прежним отображением"? Без сдвига на 1 час?

Именно так, после перезагрузки компьютера время файла отображается без сдвига (соответственно до перезагрузки оно было сдвинуто на 1 час).
 
Мне кажется, для начала вам нужно проверить у себя предложенное решение. Тогда вы сами все увидите, что куда сдвигается, и как влияет перезагрузка.

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



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikorembo 17:07 01-05-2014  
Цитата:
 Мне кажется, для начала вам нужно проверить у себя предложенное решение. Тогда вы сами все увидите, что куда сдвигается, и как влияет перезагрузка.

Проверить решение перезагрузить систему? Я ведь уже написал, что за месяц, прошедший после перехода на летнее время, перезагружался раз 10. Так что, можно считать, что проверил.
Результат всё тот же, вот только что ещё раз посмотрел на свои файлы на разделе FAT32: при включении автоматического перехода на летнее время у всех "зимних" файлов время немедленно сдвигается на 1 час назад  При выключении немедленно восстанавливается правильное  время. Прошу заметить: немедленно, без всякой перезагрузки и сброса кэша.
Удивительно, почему у нас такие разные результаты
 

Цитата:
 Я переводил часы так, чтобы ровно через минуту сработал переход на летнее/зимнее время. И наблюдал в Проводнике, как меняется отметка времени у файла на диске с FAT32.

Можно проще сделать и на 1 минуту быстрее: просто снять/выставить флажок в поле [Автоматически переходить на летнее время].

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я так понял, проблема в том, что при получении даты файла вообще нигде нет информации о том, в какой зоне он создавался. Т.о. для FAT стоило бы выводить непосредственно ту дату, какая прописана (т.к. прописана локальная с правильной на момент создания зоной), а для NTFS выводить время в текущей зоне с указанием оной ("UTC+0200"). Но оба варианта не решат задачи "определить время файла в той зоне, в которой оно установлено", т.к. этой информации в файловой системе вообще нет. Селяви...

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 19:28 01-05-2014
bamboo217

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

Всего записей: 2 | Зарегистр. 25-02-2012 | Отправлено: 20:20 01-05-2014 | Исправлено: bamboo217, 20:21 01-05-2014
pikorembo



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

Цитата:
Так что, можно считать, что проверил.

Теперь я вас попрошу описать, что именно и в какой последовательности вы проверяли

Цитата:
Результат всё тот же

И не будет другого результата. Перезагрузка влияет на отображение времени, а не на поведение системы.
 
chAlx

Цитата:
Т.о. для FAT стоило бы выводить непосредственно ту дату, какая прописана (т.к. прописана локальная с правильной на момент создания зоной), а для NTFS выводить время в текущей зоне

Вы удивитесь, но именно так операционная система и поступает

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

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

Цитата:
именно так операционная система и поступает

В смысле, Проводник? Насколько я понял из обсуждения, он (по-меньшей мере некоторые версии) поступает иначе: для FAT выводит дату, каким-то образом приведённую к текущей зоне (не представляю, как), а для NTFS выводит в текущей без указания смещения (т.о. видимое значение меняется).
 
В любом случае, достоверно угадать, в какой зоне был создан файл, невозможно, а ФС таких данных не хранит. Так что ловить тут нечего. Максимум, что можно выжать -- выводить время вместе с таймзоной, чтобы ушлый юзер мог сам определить, что там могло быть на момент создания.
 
Видать, прошли те времена, когда версию можно было хранить в дате...

Всего записей: 1691 | Зарегистр. 19-03-2003 | Отправлено: 21:13 01-05-2014
pikorembo



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

Цитата:
В смысле, Проводник?

Все приложения, которые используют системные функции для конвертации времени файловой системы и приведения его к текущей временной зоне.

Цитата:
для FAT выводит дату, каким-то образом приведённую к текущей зоне

Нет, выводится оригинальное время, но несколько замысловатым способом. Сначала время FAT приводится к UTC в соответствии с текущей временной зоной. При выводе программами оно пересчитывается обратно. Если осуществлен переход на летнее/зимнее время, возникает разница в 1 час, которая и проявляется при обратном пересчете. Пользователь это видит как сдвиг времени файла на 1 час. Перезагрузка сбрасывает кеш, и время FAT снова приводится к UTC, но уже с учетом перехода на летнее/зимнее время. Поэтому после перезагрузки сдвиг времени файла исчезает.

Цитата:
достоверно угадать, в какой зоне был создан файл, невозможно

Да, вы правы.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обратите внимание на эти функции
FileTimeToSystemTime  
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724277(v=vs.85).aspx
 
FileTimeToLocalFileTime
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724277(v=vs.85).aspx
 
Я не знаю, в чем фактически хранится время в системе, однако прикладные программы получают его, например, через  FindFirst/FindNext, а фраза
 
"A pointer to a FILETIME structure containing the UTC-based file time ...."
 
в общем должна означать что в системе время хранится как UTC, и соответсвенно, временные зоны - это уровень презентации, самой системе это до лампочки  
Резюме - надо править программы, включая проводник

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



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

Цитата:
Резюме - надо править программы, включая проводник

Почему? Система отдает неправильное время в формате UTC.

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



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

Цитата:
Система отдает неправильное время в формате UTC.

каким боком тут летнее время?
UTC он по летнему по зимнему однаковый

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



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

Цитата:
каким боком тут летнее время?

Таким боком, что время FAT должно всегда отображаться одинаково, в отличие от NTFS.

Цитата:
UTC он по летнему по зимнему однаковый

Для файлов FAT время UTC вычисляется в зависимости от TZ и DST и поэтому непостоянно.

Всего записей: 279 | Зарегистр. 29-01-2014 | Отправлено: 22:54 01-05-2014
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pikorembo
замечательно, только у меня на всех дисках NTFS, а проблема есть. значит, вы не правы

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
Какая проблема? Что время файлов "плавает"? Так оно и должно "плавать" на NTFS.

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

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уже возникли некие С верования? Хорошо

Всего записей: 1329 | Зарегистр. 01-03-2010 | Отправлено: 23:04 01-05-2014
XPerformer



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XPerformer
похоже, я потерял нить
С чего это оно должно плавать?  
если я месяц назад создал файл и с тех пор его не менял, его временные метки должны измениться после перехода на летнее время?
то есть я его сохранил не в 5 а в 6 часов 15 февраля? с какой радости?

Всего записей: 2536 | Зарегистр. 20-06-2011 | Отправлено: 23:15 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