2019年6月15日土曜日

Python日時関係のメモ


■日付をYYYY/MM/DD 00:00:00 で表示したい

strftimeを使うことで日時を好みのフォーマットで表示できます。

from time import gmtime, strftime
strftime("%Y/%m/%d  %H:%M:%S", gmtime())
# Output: 
'2019/06/15  01:46:25'

■UTCからの時間の差をdatetimeに含める

datetimeでtimezone設定をします。

from datetime import datetime, timedelta, timezone
datetime.now(timezone(timedelta(hours=9)))
# Output:
datetime.datetime(2019, 6, 15, 10, 45, 28, 719254, tzinfo=datetime.timezone(datetime.timedelta(0, 32400)))
# 32400 sec = 9 hours of timezone

■タイムゾーンtzありと、tzなしのdatetime.datetimeを比較しようとしたらエラーが出る

2019-03-01 09:55:06,033, error, ERROR, 669, Cannot compare tz-naive and tz-aware datetime-like objects
揃えるためにタイムゾーンを消します。
from datetime import datetime, timedelta, timezone

# with timezone
t = datetime.now(timezone(timedelta(hours=9)))

# timezone drop
t2 = t.replace(tzinfo=None)  

0 件のコメント:

コメントを投稿