如何在vb6中将FILETIME从WinApi转换为DateTime?
如何从WinApi转换FILETIME(例如,从vb6中对DateTime的调用结果转换)(例如,如果我想将其用作函数的输入。)稍后讨论此问题的人应记住,文件系统文件时间值通常以UTC时间为单位,大多数情况下需要进一步调整。稍后讨论此问题的人应记住,文件系统文件时间值通常以UTC时间为单位,大多数情况下需要进一步调整。如何在vb6中将FILETIME从WinApi转换为DateTime?,winapi,vb6,Winapi,Vb6,如何从WinApi转换FILETIME(例如,从vb6中对DateTime的调用结果转换)(例如,如果我想将其用作函数的输入。)稍后讨论此问题的人应记住,文件系统文件时间值通常以UTC时间为单位,大多数情况下需要进一步调整。稍后讨论此问题的人应记住,文件系统文件时间值通常以UTC时间为单位,大多数情况下需要进一步调整。 Public Type FILETIME dwLowDateTime As Long dwHighDateTime As Long End Type Publi
Public Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Public Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Private Declare Function SystemTimeToVariantTime Lib "OLEAUT32.DLL" (lpSystemTime As SYSTEMTIME, vtime As Date) As Long
Dim st As SYSTEMTIME
Dim dt As Date
' convert a FILETIME to SYSTEMTIME first
FileTimeToSystemTime ft, st
' convert the SYSTEMTIME to a Variant date (VT_DATE)
SystemTimeToVariantTime st, dt