Private 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 IntegerEnd TypePrivate Type FILETIME dwLowDateTime As Long dwHighDateTime As LongEnd TypePrivate Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal _ lpFileName As String, ByVal dwDesiredAccess As Long, _ ByVal dwShareMode As Long, ByVal NoSecurity As Long, _ ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, _ ByVal hTemplateFile As Long) As LongPrivate Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As _ LongPrivate Declare Function GetFileTime Lib "kernel32" (ByVal hFile As Long, _ lpCreationTime As FILETIME, lpLastAccessTime As FILETIME, _ lpLastWriteTime As FILETIME) As LongPrivate Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As _ FILETIME, lpSystemTime As SYSTEMTIME) As LongPrivate Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As _ FILETIME, lpLocalFileTime As FILETIME) As LongPrivate Const GENERIC_READ = &H80000000Private Const FILE_SHARE_READ = &H1Private Const FILE_SHARE_WRITE = &H2Private Const OPEN_EXISTING = 3Private Const INVALID_HANDLE_VALUE = -1' Retrieve the Create date, Modify (write) date and Last Access date of' the specified file. Returns True if successful, False otherwise.Function GetFileTimeInfo(ByVal FileName As String, Optional CreateDate As Date, _ Optional ModifyDate As Date, Optional LastAccessDate As Date) As Boolean Dim hFile As Long Dim ftCreate As FILETIME Dim ftModify As FILETIME Dim ftLastAccess As FILETIME Dim ft As FILETIME Dim st As SYSTEMTIME ' open the file, exit if error hFile = CreateFile(FileName, GENERIC_READ, _ FILE_SHARE_READ Or FILE_SHARE_WRITE, 0&, OPEN_EXISTING, 0&, 0&) If hFile = INVALID_HANDLE_VALUE Then Exit Function ' read date information If GetFileTime(hFile, ftCreate, ftLastAccess, ftModify) Then ' non zero means successful GetFileTimeInfo = True ' convert result to date values ' first, convert UTC file time to local file time FileTimeToLocalFileTime ftCreate, ft ' then convert to system time FileTimeToSystemTime ft, st ' finally, make up the Date value CreateDate = DateSerial(st.wYear, st.wMonth, _ st.wDay) + TimeSerial(st.wHour, st.wMinute, _ st.wSecond) + (st.wMilliseconds / 86400000) ' do the same for the ModifyDate FileTimeToLocalFileTime ftModify, ft FileTimeToSystemTime ft, st ModifyDate = DateSerial(st.wYear, st.wMonth, _ st.wDay) + TimeSerial(st.wHour, st.wMinute, _ st.wSecond) + (st.wMilliseconds / 86400000) ' and for LastAccessDate FileTimeToLocalFileTime ftLastAccess, ft FileTimeToSystemTime ft, st LastAccessDate = DateSerial(st.wYear, st.wMonth, _ st.wDay) + TimeSerial(st.wHour, st.wMinute, _ st.wSecond) + (st.wMilliseconds / 86400000) End If ' close the file, in all cases CloseHandle hFileEnd Function


Different Types of Data Models Explained with Examples
In the modern world, data is everything and everywhere. With so much access to technology, data has become a valuable resource for any business. Albeit a complex one. Data is