<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3903208</guid>
        <pubDate>Wed, 17 Apr 2024 14:32:38 +0000</pubDate>
        <title>ф-я GetFileTime</title>
        <link>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3903208</link>
        <description><![CDATA[BlackSun: м.б. зависит ещё от Windows? WinXP, например, делает конвертацию в местное время, а Win10 - нет?]]></description>
        <author>BlackSun</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3903203</guid>
        <pubDate>Wed, 17 Apr 2024 13:33:42 +0000</pubDate>
        <title>ф-я GetFileTime</title>
        <link>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3903203</link>
        <description><![CDATA[BlackSun: Вот я снова возвращаюсь к вопросу, ибо возникли проблемы при переходе на летнее время. Нужно получить время UTC создания папки (папка на FAT32 - возвращается местное время, проверка на файл. систему в коде пока что отсутствует - хорошо бы было получать просто значение, записанное в файл. системе - без всяких конвертаций). Код не сработал:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Public Function GetFolderCreateTime(NameFolder As String, Out_CreationFT As FILETIME) As Double</div><div class="code_line">Dim hFolder As Long, FT As FILETIME, lRet As Long</div><div class="code_line">&nbsp;&nbsp; GetFolderCreateTime = -1</div><div class="code_line">&nbsp;&nbsp; hFolder = CreateFile(NameFolder, GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_DELETE, 0&amp;, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, 0&amp;)</div><div class="code_line">&nbsp;&nbsp; If hFolder = INVALID_HANDLE_VALUE Then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Exit Function</div><div class="code_line">&nbsp;&nbsp; End If</div><div class="code_line">&nbsp;&nbsp; </div><div class="code_line">&nbsp;&nbsp; lRet = GetFileTime(hFolder, Out_CreationFT, FT, FT)</div><div class="code_line">&nbsp;&nbsp; If lRet = 0 Then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Exit Function</div><div class="code_line">&nbsp;&nbsp; End If</div><div class="code_line">&#39;если FAT32</div><div class="code_line">&nbsp;&nbsp; lRet = LocalFileTimeToFileTime(Out_CreationFT, FT)</div><div class="code_line">&nbsp;&nbsp; If lRet = 0 Then</div><div class="code_line">&nbsp;&nbsp; &nbsp;Exit Function</div><div class="code_line">&nbsp;&nbsp; End If</div><div class="code_line">&nbsp;&nbsp; Out_CreationFT = FT</div><div class="code_line">End Function</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>BlackSun</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3889930</guid>
        <pubDate>Mon, 24 Apr 2023 15:18:51 +0000</pubDate>
        <title>ф-я GetFileTime</title>
        <link>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3889930</link>
        <description><![CDATA[BlackSun: Мне-то как раз нужно постоянное значение, записанное в данные файловой системы. Я где-то читал, что на FAT-разделах она берёт время из какого-то кеша, которое может меняться с учётом летнего. Плюс у меня есть старая прога, где в комментах после GetFileTime написано: если был переход на летнее время, то выполняем такой-то код. А почему я это написал - то ли для подстраховки, то ли она реально со временем балуется - уж не помню. Потому и спрашиваю, ибо в инете много чего понаписано.]]></description>
        <author>BlackSun</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3889895</guid>
        <pubDate>Mon, 24 Apr 2023 09:34:18 +0000</pubDate>
        <title>ф-я GetFileTime</title>
        <link>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3889895</link>
        <description><![CDATA[MaIron: Функция GetFileTime в языке программирования Visual Basic возвращает время создания файла в формате UTC (координированного всемирного времени) без учета летнего времени (DST - Daylight Saving Time). Это означает, что она не учитывает переходы на летнее время и стандартное время в различных часовых поясах.<br>
<br>
Если вам требуется учесть летнее время (DST) при получении времени создания файла, вам может понадобиться дополнительная обработка и конвертация времени. Например, вы можете использовать функции, такие как GetTimeZoneInformation и SystemTimeToTzSpecificLocalTime, для преобразования времени из UTC в местное время с учетом летнего времени.<br>
<br>
Пример преобразования времени из UTC в местное время с учетом летнего времени в Visual Basic:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Dim fileTime As FILETIME</div><div class="code_line">&#39; Здесь происходит получение времени создания файла с помощью GetFileTime и сохранение его в fileTime</div><div class="code_line">&nbsp;</div><div class="code_line">&#39; Получение информации о часовом поясе</div><div class="code_line">Dim timeZoneInfo As TIME_ZONE_INFORMATION</div><div class="code_line">GetTimeZoneInformation timeZoneInfo</div><div class="code_line">&nbsp;</div><div class="code_line">&#39; Преобразование времени из UTC в местное время с учетом летнего времени</div><div class="code_line">Dim localFileTime As FILETIME</div><div class="code_line">FileTimeToLocalFileTime fileTime, localFileTime</div><div class="code_line">Dim localSystemTime As SYSTEMTIME</div><div class="code_line">FileTimeToSystemTime localFileTime, localSystemTime</div><div class="code_line">Dim localTime As Date</div><div class="code_line">SystemTimeToTzSpecificLocalTime timeZoneInfo, localSystemTime, localTime</div></ol></div></div></div></div><br>
&#39; Теперь localTime содержит местное время с учетом летнего времени<br>
Обратите внимание, что поддержка летнего времени зависит от операционной системы и настроек компьютера, на котором выполняется код.]]></description>
        <author>MaIron</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3889700</guid>
        <pubDate>Thu, 20 Apr 2023 16:21:43 +0000</pubDate>
        <title>ф-я GetFileTime</title>
        <link>https://forum.sources.ru/index.php?showtopic=434583&amp;view=findpost&amp;p=3889700</link>
        <description><![CDATA[BlackSun: Возвращает всегда одно и то же время создания файла, или возможны отклонения с учётом летнего времени?]]></description>
        <author>BlackSun</author>
        <category>Visual Basic: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	