为了获得我path.getmtime
从 ftputil 使用的文件的修改时间,但是由于 DST-change 最近创建的文件的返回值有一年的偏移量,说新文件的最后修改时间是从去年开始的。实际上,该文件在“未来”一小时内被修改。
原因是存储文件的操作系统在 DST 上运行,但脚本在其非 DST 上运行。
总的来说,我想删除超过阈值的文件,但现在它也在删除最新的文件,因为它说它来自 2018 年。
我尝试将时间戳转换datetime.utcfromtimestamp
为 UTC 时间,但显然 getmtime 不会返回文件的实际时间戳。它已经将其设置为去年的 2018 年,因为它可能看起来价值来自未来。
可以说它的 2019-04-04 10:00:00 UTC。在 DST (UTC+1) 上运行的主机上的文件于 10:45 创建
import ftputil
import datetime
import time
host = ftputil.FTPHost(ftp, user, pwd)
modtime = host.path.getmtime(file)
print datetime.datetime.utcfromtimestamp(modtime)
输出应该是 2019-04-04 09:45:00,但实际上是 2018-04-04 09:45:00。我可以使用日期时间格式做任何我想做的事情,只要 getmtime 通过 2018 时间戳,它就永远不会正确。
有没有办法在有或没有的情况下传递正确的时间戳getmtime
?老实说,我不想手动操作它。或者是什么将其更改为一年的抵消?
#第一次海报