Ответ 1
Пытаться datetime.fromtimestamp(statResult.st_mtime)
например,
import datetime
mod_timestamp = datetime.datetime.fromtimestamp(path.getmtime(<YOUR_PATH_HERE>))
Какой самый идиоматический/эффективный способ конвертировать из времени модификации, полученного из вызова 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. Есть ли более прямой способ?
Пытаться datetime.fromtimestamp(statResult.st_mtime)
например,
import datetime
mod_timestamp = datetime.datetime.fromtimestamp(path.getmtime(<YOUR_PATH_HERE>))
Это работает для меня, если вы хотите читаемую строку:
import datetime
mtime = path.stat().st_mtime
timestamp_str = datetime.datetime.fromtimestamp(mtime).strftime('%Y-%m-%d-%H:%M')