从stat()
调用检索到的修改时间转换为datetime
对象的最惯用/最有效的方法是什么?我想出了以下(python3):
from datetime import datetime, timedelta, timezone
from pathlib import Path
path = Path('foo')
path.touch()
statResult = path.stat()
epoch = datetime(1970, 1, 1, tzinfo=timezone.utc)
modified = epoch + timedelta(seconds=statResult.st_mtime)
print('modified', modified)
似乎是一个回合,有点令人惊讶的是我必须在那里硬编码 Unix 纪元。有没有更直接的方法?