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')