从stat().st_mtime到datetime?

7 浏览
0 Comments

从stat().st_mtime到datetime?

如何以最惯用/高效的方式将从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纪元。是否有更直接的方法?

0