datetimetimestampfat32

What time zone does a FAT32 SD card record timestamps in?


I understand that FAT32 formatted file-systems record timestamps for file modified times in Local Time and not UTC time.

However, if a device records a file to a FAT32 SD card using a datetime with no timezone*, what TZ does the SD card assume it is receiving?

My guess is either:

  1. The SD card uses whatever timezone the SD card was FORMATTED in
  2. OR - The SD card records the time (no TZ), and when that file is copied to a computer, the computer says, "Ahh it's from a FAT32 card, must be in MY local time!"

Bonus for canonical sources.


Edit: Preliminary testing says #2.

  1. Format an SD Card as Fat32 and create a file at 12:45 am and eject
  2. Change you computer timezone
  3. Plug in SD card: file will show 12:45 am
  4. Reformat in that new timezone, create a 12:50 file
  5. SD card will read 12:50 no matter what TZ you plug it into.
  6. HOWEVER -- if you change TZ while SD card is mounted, then the time will change...

So rather than call it Local Time -- it might seem more appropriate to call FAT32 file timestamps as "TZ Agnostic"


Solution

  • Given the vintage of FAT32 and its predecessors the concept of adding a time zone to a file save or formatting was quite alien.

    Similar for DOS,the time was the time so naturally it was local time.

    I doubt that I could find a canonical source that was contemporary to those design decisions (or more accurately lack of design).

    So to answer your question the file save time is most likely the local time, but later operating systems could decide to change the practice. There is no standard way to store the TZ of the FAT32 device so you can discount that option