python時間:datatime
公式サイトの時間フォーマットの説明:https://docs.python.org/3/library/datetime.html#strftime-strptime-behavior
インポートモジュール:from datetime import datetime
システムの現在時刻の表示
実行結果:
strをdatetimeに変換
実行結果:
datetimeをstrに変換する:お客様に見せる
実行結果:
datetime加減:計算
実行結果:
ローカル時間をUTC時間に変換:timezone
実行結果:
ローカル時間をUTC時間に変換:replace
実行結果:
タイムゾーン変換:astimezone
実行結果:
まとめ:タイムゾーン変換は必ずUTCタイムゾーン付き時間で変換してください. タイムゾーン変換+00:00のベースタイムゾーンから変換せず、bj_dt-->tokyo_dtですが、前の時間帯が正しい であることを確認してください.
インポートモジュール:from datetime import datetime
システムの現在時刻の表示
now = datetime.now()
print (now)
実行結果:
2018-07-27 15:19:50
strをdatetimeに変換
cday = datetime.strptime('2016-6-1 18:19:59', '%Y-%m-%d %H:%M:%S')
print (cday)
実行結果:
2016-06-01 18:19:59
datetimeをstrに変換する:お客様に見せる
now = datetime.now()
print(now.strftime('%a, %b %d %H:%M'))
実行結果:
Fri, Jul 27 03:56
datetime加減:計算
from datetime import datetime, timedelta
now = datetime.now()
print (now)
delta_add = now + timedelta(days = 3, hours=10, minutes = 1)
print(delta_add)
delta_add = now - timedelta(days = 1, hours=10, minutes = 1)
print(delta_add)
実行結果:
2018-07-27 04:01:57.861809
2018-07-30 14:02:57.861809
2018-07-25 18:00:57.861809
ローカル時間をUTC時間に変換:timezone
from datetime import datetime, timedelta, timezone
tz_utc_8 = timezone(timedelta(hours=8)) # UTC+8:00
print (tz_utc_8)
now = datetime.now()
print (now)
実行結果:
UTC+08:00
2018-07-29 03:27:01.248631
ローカル時間をUTC時間に変換:replace
dt = now.replace(tzinfo=tz_utc_8) # UTC+8:00
print (dt)
実行結果:
2018-07-29 03:27:01.248631+08:00
タイムゾーン変換:astimezone
utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc) # UTC , UTC+0:00:
print(utc_dt)
bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8))) # astimezone()
print(bj_dt)
tokyo_dt = bj_dt.astimezone(timezone(timedelta(hours=9))) # astimezone() bj_dt :
print(tokyo_dt)
実行結果:
2018-07-29 03:42:40.795549+00:00
2018-07-29 11:42:40.795549+08:00
2018-07-29 12:42:40.795549+09:00
まとめ: