Функция 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
Категория
Время