View previous topic :: View next topic |
Author |
Message |
prog_san
Joined: 29 Sep 2007 Posts: 282 Location: Пенза
|
(Separately) Posted: Wed Dec 03, 2008 11:18 Post subject: FileTimeToLocalFileTime дает некорректное летнее время зимой |
|
|
Проблема следующая:
в ходе эксперементов было выявлено, что на разделах NTFS эта функция дает разницу в час, если файл был записан летом, а просмотр проводится зимой (или наоборот).
Свойства файлов Windows и TotalCommander не учитывают эту особенность и наблюдается интересная вещь:
Ведь если мы создали файл 2.12 в 23.45, то и при просмотре летом информаци об этом файле (переведем время на июнь хотя бы) дата его создания все равно должна быть 2.12 в 23.45, а свойства файлов Windows отображают 03.12 в 00.45 !!!!!
Свойтсва файлов Windows меня мало интересуют , но Гхислеру надо наверное об этом сообщить..
В MSDN написано про подобное поведение и предложена альтернатива - группа функций, приводящая к корректным результатам:
FileTimeToSystemTime
SystemTimeToTzSpecificLocalTime
SystemTimeToFileTime
Еще раз - проявляется только на NTFS разделах |
|
Back to top |
|
|
olega
Joined: 24 Jun 2005 Posts: 15
|
(Separately) Posted: Wed Dec 03, 2008 14:29 Post subject: |
|
|
Настройки->Основные операции->Коррекция времени на NTFS->Игнорировать разницу в 1 ч
Это не то? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10257 Location: Россия, Саратов
|
(Separately) Posted: Wed Dec 03, 2008 20:21 Post subject: |
|
|
prog_san
Проблема давно известна, в том числе и Гислеру. О чём в справке Тотала совершенно ясно написано при рассмотрении указанной далее опции.
Про группу функций - это всё замечательно, но что, собственно, конкретно предлагается делать по этому поводу в Тотале? Простыми русскими словами?
olega wrote: | Настройки->Основные операции->Коррекция времени на NTFS->Игнорировать разницу в 1 ч
Это не то? |
То, да не совсем. Указанная опция позволяет игнорировать возникшую разницу в один час в функциях сравнения и синхронизации. И всё. Хотя и это очень полезно. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
prog_san
Joined: 29 Sep 2007 Posts: 282 Location: Пенза
|
(Separately) Posted: Thu Dec 04, 2008 00:19 Post subject: |
|
|
olega wrote: | Настройки->Основные операции->Коррекция времени на NTFS->Игнорировать разницу в 1 ч
Это не то? |
Это хорошо, что он учел этот момент при сравнении файлов. Но я не про это..
Avada wrote: |
Проблема давно известна, в том числе и Гислеру. О чём в справке Тотала совершенно ясно написано при рассмотрении указанной далее опции.
Про группу функций - это всё замечательно, но что, собственно, конкретно предлагается делать по этому поводу в Тотале? Простыми русскими словами?
|
А почему же он не использует эту связку для вычисления времен файлов? Ее использование устранит неправильное отображение времени.
Может быть, чтобы избежать расхождения показаний с Windows?
По-моему если файл создан 02.12 в 23.45, то и летом дата его создания должна отображаться как 02.12 в 23.45, а не 03.12 в 00.45. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10257 Location: Россия, Саратов
|
(Separately) Posted: Thu Dec 04, 2008 01:13 Post subject: |
|
|
prog_san
Я не программист, в тонкостях применения вышеупомянутых функций не разбираюсь и сужу об этом исключительно с позиции честного битого юзера, хотя и с изрядным стажем. Возможно, специалисты меня поправят.
Так вот. Можно считать такое отображение времени правильным или неправильным, но мне не известен НИ ОДИН файл-менеджер, где синхронизация "на лету" изменёного ранее в NTFS времени была бы осуществлена и где такая задача хотя бы серьёзно ставилась. Что предлагается-то? При открытии каждого каталога быстренько пересканировать время файлов и, грубо говоря, для созданных в зимний период час минусовать летом, а для созданных в летний - плюсовать зимой? (На самом деле там всё ещё сложнее, я сознательно упрощаю.) Причём реально ничего не менять, а только отображать таким образом в данной конкретной программе? Кому из разработчиков такие подвиги нужны? Да и в расхождении показаний с Windows счастья будет мало. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
prog_san
Joined: 29 Sep 2007 Posts: 282 Location: Пенза
|
(Separately) Posted: Thu Dec 04, 2008 01:26 Post subject: |
|
|
Avada wrote: |
Так вот. Можно считать такое отображение времени правильным или неправильным, но мне не известен НИ ОДИН файл-менеджер, где синхронизация "на лету" изменёного ранее в NTFS времени была бы осуществлена и где такая задача хотя бы серьёзно ставилась. Что предлагается-то? |
Я не про синхронизацию.. Пусть она работает, как работала. Там все и так замечательно. Я про отображение времени в списке файлов на панелях... Если файл был изменен в определенное время - это время и дожно отображаться, безовсяких часовых сдвигов в зависимости от сезона... Не так ли?
Avada wrote: |
Кому из разработчиков такие подвиги нужны? Да и в расхождении показаний с Windows счастья будет мало. |
Файловая система фиксирует время корректно - проблема только в правильном отображении ее пользователю. И если Windows это выполняет некорректно, это еще не означает того, что TotalCommander должен уподобляться ей.
Повторюсь - я за то, что если файл был создан(изменен, к нему происходил доступ) в конкретное время, это время и ДОЛЖНО отображаться.
Решение же я предлагал выше. Как написано в MSDN. Связка трех функций, вместо использования FileTimeToLocalFileTime |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10257 Location: Россия, Саратов
|
(Separately) Posted: Thu Dec 04, 2008 08:07 Post subject: |
|
|
prog_san wrote: | Решение же я предлагал выше. Как написано в MSDN. Связка трех функций, вместо использования FileTimeToLocalFileTime |
Ссылку можно? _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Volniy
Joined: 15 Dec 2004 Posts: 585 Location: Местный
|
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10257 Location: Россия, Саратов
|
(Separately) Posted: Thu Dec 04, 2008 19:34 Post subject: |
|
|
Да, спасибо, посмотрел. Но, как уже было сказано, в силу ограниченой компетентности в данном вопросе конкретика применения всех этих замечательных механизмов для меня не вполне понятна. Равно как и то, почему, если это всё так просто и очевидно, то уже не реализовано кем-то на уровне файл-менеджеров, которых сейчас как собак нерезаных.
Поскольку по основному вопросу я больше ничего дельного сказать не в состоянии, могу лишь порекомендовать выйти на официальный сайт TC и попытаться донести эту идею до Гислера напрямую. Со всеми резонами и отсылками. В чём и желаю всяческих успехов. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
prog_san
Joined: 29 Sep 2007 Posts: 282 Location: Пенза
|
(Separately) Posted: Thu Dec 04, 2008 22:30 Post subject: |
|
|
Буду пробывать. Правда с английским проблемы |
|
Back to top |
|
|
|