strftimeとstrptimeの違いは何でしょうか?¶
これ、名前も似てますし少し分かりにくいですよね。 両者とも文字列と日付を変換するための処理です
strptime: 文字列 => 日付 strftime: 日付 => 文字列
strptime¶
strptimeは「文字列」を「日付」に変換します。
たとえば 2016-11-05
という文字を 年-月-日
と解釈して変換するには、以下のように strptime
を使います。
from datetime import datetime
d = datetime.strptime("1991-11-05", "%Y-%m-%d")
print(d.year) # 1991という数字になります
print(d.month) # 11という数字になります
print(d.day) # 5という数字になります
詳しくは、strptime()を参照ください。
strftime¶
strftimeは「日付」を「文字列」に変換します。
たとえば datetime(1991, 11, 5)
という日付を 年-月-日
というハイフン区切りの文字列に変換するため、以下のように strftime
を使います。
d = datetime(1991, 11, 5) # 1991年11月5日の、日付を変数dに入れる
print(d.strftime("%Y-%m-%d")) # 年-月-日として文字列にする
詳しくは、strftime()を参照ください。