os.stat and time zones

Nagy László Zsolt gandalf at shopzeus.com
Sun May 25 07:47:42 EDT 2014


This might be a silly question. Documentation of os.stat:

> The exact meaning and resolution of the st_atime, st_mtime, and 
> st_ctime attributes depend on the operating system and the file 
> system. For example, on Windows systems using the FAT or FAT32 file 
> systems, st_mtime has 2-second resolution, and st_atime has only 1-day 
> resolution. See your operating system documentation for details.
So it says that the meaning is platform dependent.

But here is something interesting. Supposedly, os.stat(fpath).st_mtime 
and os.path.getmtime(path) return the same thing. The documentation of 
os.path.getmtime says that it "returns the number of seconds since the 
epoch". And the time module says that "To find out what the epoch is, 
look at gmtime(0)". And the documentation of gmtime says that it 
converts the given value to a struct_time *that is in UTC*.

If the above are true, then as far as I can see, the meaning of st_mtime 
is NOT platform dependent. It always means the number of seconds elapsed 
since the epoch in UTC. (The resolution can be platform dependent, I 
admit that.)

So what is the truth? What other difference can be in the meaning that 
is platform dependent?




More information about the Python-list mailing list