Ask Leo! by Leo A. Notenboom

Why do file timestamps compare differently every time change?

Search First! Then browse: Categories | Full Archive | By Date | Newsletter
Ask Leo! on Facebook

Home » Hardware » Disks and Mass Storage

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 short, it's all about the file systems."

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

Was this article helpful? «Yes» «No»

Recent Comments
7 Comments

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?

Actually NTFS is close to being universal these days. There's both Linux and Mac support, though often as an add on you need to install.
Leo
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.

While this sounds good in theory, the problem is that your clock being off with the rest of the world can result in odd behaviours, right down to not being able to login to various web services or more.
Leo
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!

GMT is how it's stored. When it's displayed - as in Windows Explorer - it's converted to your local timezone. So you never see GMT times (unless that's your timezone, of course).
Leo
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 PM

Some 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

Post a comment on "Why do file timestamps compare differently every time change?":



(Name will be included when your comment is published.)



(Email Address will not be published.)

Remember Me?

By popular demand...
my tip jar
Cuppa Joe
Buy Leo a Latte!

(you may use HTML tags for style)

RSS feed Subscribe to the RSS Feed specifically for comments on this article.

Before commenting, please...

  • Read the article at the top of this page. If your comment shows you didn't, it'll be deleted and ignored.

  • Comment only on this article. Use the Google search box at the top of the page if you have a question about something else.

  • Don't include personal information in the comment. No email addresses. No phone numbers. No physical addresses.

  • Don't spam. Excessive links to unrelated sites within a comment or across multiple comments will cause all such comments to be removed.

  • Don't ask me to recover lost passwords or hacked accounts. I can't, and those comments will be deleted.

  • I can't respond to every comment. And I can't vouch for the accuracy of others who do.

Please wait. Your comment is being processed ...


Question? Ask Leo!