Pythonには時間を文字列に、文字列を時間に変換するメソッドがあります。
- strftime
- strptime
名前がよく似ていますよね。
どちらが文字列を時間に変換するのか、時間を文字列に変換するのか
よく調べているので、まとめました。
strftimeは時間を文字列に変換
strftimeは時間を文字列に変換します。
1 2 3 4 5 6 7 8 9 |
from datetime import date, datetime day = date(2018, 10, 13) day_str = day.strftime('%Y-%m-%d') print(day_str) # '2018-10-13' day_and_time = datetime(2018, 10, 13, 8, 25, 30) day_and_time_str = day_and_time.strftime('%Y-%m-%d %H:%M:%S') print(day_and_time_str) # '2018-10-13 08:25:30' |
%Y-%m-%dなどの変換フォーマットは
Pythonの公式ドキュメントに詳細が記載されています。
8.1. datetime --- 基本的な日付型および時間型 — Python 3.6.15 ドキュメント
strptimeは文字列を時間に変換
strptimeはdatetime.datetimeのメソッドで
文字列を時間に変換します。
変換後はdatetime.datetime型になります。
1 2 3 4 5 6 |
from datetime import datetime day_and_time_str = '2018-10-13 08:25:30' day_and_time = datetime.strptime(day_and_time_str, '%Y-%m-%d %H:%M:%S') print(day_and_time) # '2018-10-13 08:25:30' print(type(day_and_time)) # <class 'datetime.datetime'> |
コメント