Чтобы получить время модификации файла, я использую path.getmtime
из ftputil, но, поскольку DST-изменение, возвращаемое значение недавно созданных файлов имеет смещение в один год, говоря, что время последнего изменения новых файлов - с прошлого года,На самом деле файл был изменен за один час в «будущем».
Причиной этого является то, что ОС, в которой хранится файл, работает на 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-049:45:00.Я могу делать все, что захочу, с форматированием даты и времени, пока getmtime передает метку времени 2018, она никогда не становится правильной.
Есть ли способ передать правильную метку времени с getmtime
или без него?Честно говоря, я не хочу манипулировать им вручную.Или что меняет его на однолетнее смещение?
# firsttimeposter