GetFileDateInfo – Retrieve all date information about a file

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

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


The Latest

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS

homes in the real estate industry

Exploring the Latest Tech Trends Impacting the Real Estate Industry

The real estate industry is changing thanks to the newest technological advancements. These new developments — from blockchain and AI to virtual reality and 3D printing — are poised to change how we buy and sell homes. Real estate brokers, buyers, sellers, wholesale real estate professionals, fix and flippers, and beyond may

man on floor with data

DevX Quick Guide to Data Ingestion

One of the biggest trends of the 21st century is the massive surge in internet usage. With major innovations such as smart technology, social media, and online shopping sites, the internet has become an essential part of everyday life for a large portion of the population. Due to this internet