Функция SystemTimeToFileTime

Declare Function SystemTimeToFileTime Lib "kernel32" (lpSystemTime As SYSTEMTIME, lpFileTime As FILETIME) As Long
SystemTimeToFileTime конвертирует время и дату, хранимые в структуре SYSTEMTIME в формат структуры FILETIME. Функция является обратной по отношению к функции FileTimeToSystemTime
lpSystemTime
Дата и время в формате SYSTEMTIME для конвертации
lpFileTime
Получаемые значения даты и времени в формате FILETIME

Пример

' Отобразим дату создания файла C:\autoexec.bat
Dim hFile As Long ' дескриптор к открываемому файлу
Dim ctime As FILETIME  ' время создания файла
Dim atime As FILETIME  ' время последнего открытия файла
Dim mtime As FILETIME  ' время последнего изменения файла
Dim thetime As SYSTEMTIME ' используем для манипуляций со временем
Dim retval As Long ' возвращаемое значение

' Сначала, откроем файл C:\autoexec.bat
hFile = CreateFile("C:\autoexec.bat", GENERIC_READ, FILE_SHARE_READ, ByVal CLng(0), OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0)
If hFile = -1 Then
  Debug.Print "Невозможно открыть файл"
  End  ' выходим из программы
End If

' Получаем время создания, последнего открытия и изменения файла
retval = GetFileTime(hFile, ctime, atime, mtime)
' Конвертируем время создания в локальное время
retval = FileTimeToLocalFileTime(ctime, ctime)
' Преобразуем формат FILETIME в формат SYSTEMTIME
retval = FileTimeToSystemTime(ctime, thetime)

' Показываем время создания файла
Debug.Print "Файл создан "; thetime.wMonth; "-"; thetime.wDay; "-"; thetime.wYear

' Теперь обратно преобразуем формат SYSTEMTIME в формат FILETIME
retval=SystemTimeToFileTime(ctime.thetime)
' Закрываем файл для освобождения ресурсов
retval = CloseHandle(hFile)

Смотри также

FileTimeToSystemTime

Категория

Время