But a non faulty program can still do that. The time hasn't changed. She is only seeing what explorer interprets the time as.
There are five time formats. Time-related functions return time in one of these formats. You can also use the time functions to convert between time formats for ease of comparison and display. The following table summarizes the time formats.
Format Type Description
System SYSTEMTIME Year, month, day, hour, second, and millisecond, taken from the internal hardware clock.
File FILETIME 100-nanosecond intervals since January 1, 1601.
Local SYSTEMTIME or FILETIME A system time or file time converted to the system's local time zone.
MS-DOS WORD A packed word for the date, another for the time.
Windows DWORD The number of milliseconds since the system booted; a quantity that cycles every 49.7 days.
File Times and Daylight Saving Time
You must take care using file times if the user has set the system to automatically adjust for daylight saving time.
To convert a file time to local time, use the FileTimeToLocalFileTime function. However, FileTimeToLocalFileTime uses the current settings for the time zone and daylight saving time. Therefore, if it is daylight saving time, it will take daylight saving time into account, even if the file time you are converting is in standard time.
FAT records times on disk in local time. GetFileTime retrieves cached UTC times from FAT. When it becomes daylight saving time, the time retrieved by GetFileTime will be off an hour, because the cache has not been updated. When you restart the machine, the cached time retrieved by GetFileTime will be correct. FindFirstFile retrieves the local time from FAT and converts it to UTC using the current settings for the time zone and daylight saving time. Therefore, if it is daylight saving time, FindFirstFile will take daylight saving time into account, even if the file time you are converting is in standard time.
NTFS records times on disk in UTC. To account for daylight saving time when converting a file time to a local time, use the following functions instead of FileTimeToLocalFileTime:
1.. FileTimeToSystemTime
2.. SystemTimeToTzSpecificLocalTime
3.. SystemTimeToFileTime