此代码每年在时钟转换的晚上打印一次错误警告(中欧夏令时间到中欧时间):
import os
import datetime
now = datetime.datetime.now()
age = now - datetime.datetime.fromtimestamp(os.path.getmtime(file_name))
if (age.seconds + age.days * 24 * 3600) < -180:
print('WARN: file has timestap from future?: %s' % age)
即使在每年一小时的时钟轮班期间,如何使该代码正常工作?
Update
我只关心年龄,而不关心日期时间。
通过从本地时间切换到 UTC 时间,可以轻松改进发布的片段。 UTC 夏令时(夏令时)没有变化。只需替换这两个日期时间函数即可now()
-> utcnow()
(docs https://docs.python.org/3/library/datetime.html#datetime.datetime.utcnow) and fromtimestamp()
-> utcfromtimestamp()
(docs https://docs.python.org/3/library/datetime.html#datetime.datetime.utcfromtimestamp).
但是,如果唯一的预期输出是以秒为单位的文件寿命,我们可以直接使用时间戳(“纪元”中的秒数)而不进行任何转换:
import time
import os.path
...
age = time.time() - os.path.getmtime(file_name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)