os.stat and time zones

Ben Finney ben at benfinney.id.au
Sun May 25 23:33:09 EDT 2014


Nagy László Zsolt <gandalf at shopzeus.com> writes:

> 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.

It says what it means: “The exact meaning and resolution of the
st_atime, st_mtime, and st_ctime attributes depend on the operating
system and the file system.”

That doesn't mean quite what you've said in your paraphrase.

> But here is something interesting. Supposedly, os.stat(fpath).st_mtime
> and os.path.getmtime(path) return the same thing.

The implementation of ‘os’ is platform-dependent. So, the meaning of the
return value of ‘os.stat’ and of ‘os.path.getmtime’ will also be
platform-dependent.

> If the above are true, then as far as I can see, the meaning of
> st_mtime is NOT platform dependent.

You've missed the part where the ‘os’ module is platform-dependent, and
hence the ‘os.stat’ behaviour is platform-dependent.

> It always means the number of seconds elapsed since the epoch in UTC.

The time elapsed doesn't change in meaning. The meaning of “modification
time” (and “creation time”, and “access time”) is what changes, because
different filesystems and different operating systems have different
meanings for those.

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

Read up on the different filesystems implemented on the operating
systems and filesystems relevant to you, and what meanings are assigned
by each specific filesystem to those timestamps.

-- 
 \       Moriarty: “Forty thousand million billion dollars? That money |
  `\            must be worth a fortune!” —The Goon Show, _The Sale of |
_o__)                                                       Manhattan_ |
Ben Finney




More information about the Python-list mailing list