Python

トップ > チップス > Python
2012-06-05, python

文字列、日付の相互変換

文字列をパースして日付(datetime.dateオブジェクト)に変換します。

import datetime, time

s = "2012/06/03"
t = time.strptime(s,"%Y/%m/%d") # (2012, 6, 3, 0, 0, 0, 6, 155, -1)
f = time.mktime(t) # 1338649200.0
d = datetime.date.fromtimestamp(f) # datetime.date(2012, 6, 3)

日付を任意のフォーマットで文字列に変換します。

s = d.strftime("%Y/%m/%d") # "2012/06/03"

パースした後の変換が意外にややこしいです。もっと簡単な方法があるのかもしれません。

2013.04.29追記

Python2.6では以下の方法も使えます(2.4では使えませんでした…)。

s = "2013/04/28"
t = datetime.datetime.strptime(t,"%Y/%m/%d") # (2013, 4, 28, 0, 0)
d = t.date()

この記事は役に立ちましたか?