Summary: Twice a year when daylight saving time or summertime begins and ends, file time comparisons can be off if you're using differing file systems.
Every time change (now daylight to standard), the timestamps on all files on my 3 hard disks (1 local, 2 networked) show the new time (i.e., 1 hour less in the Fall) BUT those same files on my removable disk (Cruzer 8GB thumb drive) still have the "old" time (i.e., 1 hour more in the Fall). This causes the entire set of files to miscompare when compared based on time (and I have to recopy all files (GBs) to the removable disk. Been happening for years and have never seen an explanation.
•
Years ago, one of the ways I took work home was to use an external disk and a file copying tool that copied only files that had changed, using the time stamps to determine which files should be copied.
Once a year everything changed and all files were copied, and once a year a bunch of files would be copied in wrong direction.
And, like you, it happened every time we left and entered daylight saving time.
•
In short, it's all about the file systems.
Or, rather, that the two disks containing the files being compared had differing file systems - NTFS versus FAT.
In the FAT file system, when a file's timestamp is written it uses your local time. So if it's 8:32AM and you write your file, then it's "8:32 AM" that gets written to the disk.
In the NTFS, all timestamps are written in Coordinated Universal Time or UTC (roughly equivalent to Greenwich Mean Time, GMT). That means if it's 8:32AM, and you're in the U.S.'s Eastern time zone (ET) which is UTC -5, then the actual time written to the disk is 13:32 UTC. When the file's time is displayed, then of course, the time zone is once again factored in and the time of 8:32AM is shown.
Here's the rub: Eastern time, or more correctly Eastern Standard Time (EST) is UTC-5 unless you're in daylight saving time, in which case it's ("spring forward") UTC-4 - Eastern Daylight Time (EDT). During daylight saving time, the same file's timestamp will be displayed as 9:32AM - that's the time it was written had daylight saving time been in effect at the time it was written.
And yes, I'll happily admit it's confusing as all get out.
But here's where the fun starts.
To continue with our example, let's assume you copied a file from an NTFS formatted disk to a FAT formatted disk in the Eastern time zone while daylight saving time was not in effect. The time stamps are stored differently - 13:32 UTC on the NTFS disk and 8:32 AM on the FAT disk - but they display the same; when displayed the NTFS time is adjusted by your time zone, subtracting 5 arriving at the same 8:32 AM.
Now daylight saving time arrives.
The time stamps are still stored exactly as they were - 13:32 UTC on the NTFS disk and 8:32 AM on the FAT disk - but they no longer display the same; when displayed the NTFS time is adjusted by your time zone, which is now -4 with daylight saving time in effect, and the timestamp on the NTFS drive appears as 9:32 AM.
The files appear different.
Even though they're not.
And a file copying utility that uses the timestamps to see which is newer will think they're different and copy the "newer" one onto the older one.
| Time of year | File Creation Date | NTFS Displays | FAT displays |
| Standard Time | 01/01/2009 8:32 AM Standard Time |
01/01/2009 8:32 AM | 01/01/2009 8:32 AM |
| Daylight Saving Time | 01/01/2009 8:32 AM Standard Time |
01/01/2009 9:32 AM | 01/01/2009 8:32 AM |
So, what do you do?
To be completely honest, I simply lived with it for several years.
Then I converted the external drive I was using to NTFS and the problem went away.
These days that's probably the most practical solution in most cases.
Article C3929 - November 18, 2009
Another fun project:
Save a file to a FAT device on your computer. Change your timezone (or go to another computer in a different timezone) and the date/times will no longer match.
Le sigh.
Leo, out of curiousity, do you know of a Universal File Format other than FAT that supports UTC and works between Linux, Windows, and Mac?
20-Nov-2009
Posted by: Ziggie at November 19, 2009 7:40 AM
One other, rather obvious solution: If you can tolerate your pc's time being 1 hour off for six months every year, would be to go into your control panel (Time Zone tab in Date and Time Properties) and un-check the 'Apply Daylight Saving's Time' box.
26-Nov-2009
Posted by: Dave Markley at November 24, 2009 11:16 AM
I wondered about the GMT/NTFS part. I generated a notepad file, checked the timestamp..it's PST. The machine is XPP, HD is NTFS.
I'd not heard the GMT timestamping of files written under an NTFS. The file I just saved doesn't show that to be so.
I'm assuming 'timestamp' to be the time shown in a Windows Explorer window..or in the properties window of a particular file
What am I missing?
Thanks!
26-Nov-2009
Posted by: Brad at November 24, 2009 3:55 PM
I DID read it.
...just not very good! I KNEW I was missing something.
The third time through I see what I'd missed.
The Helen Reddy Sped Reddin course strikes again!
Thanks, Leo.
Posted by: Brad at November 24, 2009 3:59 PMSome synchronising tools (e.g. GoodSync) will ignore apparent time stamp differences of exactly one hour. Useful if you need to sync between FAT32 and NTFS drives.
Posted by: John at November 25, 2009 2:02 AM