on my windows xp box os.path.getmtime gives back local time (I just saved the file):
os.path.getmtime('c:\\temp\\testset.py')
1106955016
print time.mktime(time.localtime())
1106955034.0
No. mktime is converting the local time to UTC. Try this instead:
Py> time.gmtime(os.path.getmtime("c:/devel/mtime_test.txt")) (2005, 1, 29, 3, 35, 37, 5, 29, 0)
Py> time.localtime(os.path.getmtime("c:/devel/mtime_test.txt")) (2005, 1, 29, 15, 35, 37, 5, 29, 1)
(This is with my machine set to Sydney time, so that I'm at UTC + 10, with daylight savings currently active)
You can try to figure out if DST is on by comparing time.localtime() versus time.gmtime(). In the Western European Timezone there's one hour difference in winter and two hours in summer.
To figure out if DST is currently active, you can use:
Py> import time Py> time.localtime() (2005, 1, 29, 14, 29, 26, 5, 29, 0) Py> time.localtime().tm_isdst 0
Switching to Sydney time (which actually uses DST, unlike Brisbane) gives:
Py> import time Py> time.localtime().tm_isdst 1
The same trick will work on historical dates, too. For instance, consider a file created last winter, when Sydney was NOT on daylight savings:
Py> time.localtime(os.path.getmtime("c:/log.txt")) (2004, 7, 20, 19, 46, 35, 1, 202, 0)
Cheers, Nick.
-- Nick Coghlan | [EMAIL PROTECTED] | Brisbane, Australia --------------------------------------------------------------- http://boredomandlaziness.skystorm.net -- http://mail.python.org/mailman/listinfo/python-list