>>> import datetime >>> now = datetime.datetime.now() >>> now.strftime("%Y/%m/%d %H:%M:%S") '2012/01/01 20:29:39'
もしくは、新しい形式のformat関数を使ってもできる。
>>> "{0:%Y-%m-%d %H:%M:%S}".format(now) '2012-10-07 08:15:03'
>>> import datetime >>> datetime.datetime.strptime('2012/01/01 20:29:39', "%Y/%m/%d %H:%M:%S") >>> datetime.datetime(2012, 1, 1, 20, 29, 39)
標準ライブラリではdatetimeモジュールのstrptimeが利用できるが、曜日や月の名称などでロケールに依存することがある。(Mon, 月など)
サードパーティ製モジュールのdatetutilを使って変換することもできる。
>>> import dateutil.parser >>> dateutil.parser.parse('Tue Apr 10 04:54:42 JST 2007') datetime.datetime(2007, 4, 10, 4, 54, 42, tzinfo=tzlocal())
フォーマット文字列はここを参照。
http://www.python.jp/doc/2.5/lib/module-time.html
Directive | Meaning | Notes |
---|---|---|
%a |
ロケールにおける省略形の曜日名。 | |
%A |
ロケールにおける省略なしの曜日名。 | |
%b |
ロケールにおける省略形の月名。 | |
%B |
ロケールにおける省略なしの月名。 | |
%c |
ロケールにおける適切な日付および時刻表現。 | |
%d |
月の始めから何日目かを表す 10 進数 [01,31]。 | |
%H |
(24 時間計での) 時を表す 10 進数 [00,23]。 | |
%I |
(12 時間計での) 時を表す 10 進数 [01,12]。 | |
%j |
年の初めから何日目かを表す 10 進数 [001,366]。 | |
%m |
月を表す 10 進数 [01,12]。 | |
%M |
分を表す 10 進数 [00,59]。 | |
%p |
ロケールにおける AM または PM に対応する文字列。 | (1) |
%S |
秒を表す 10 進数 [00,61]。 | (2) |
%U |
年の初めから何週目か (日曜を週の始まりとします)を表す 10 進数 [00,53]。年が明けてから最初の日曜日までの全ての 曜日は 0 週目に属すると見なされます。 |
(3) |
%w |
曜日を表す 10 進数 [0(日曜日),6]。 | |
%W |
年の初めから何週目か (日曜を週の始まりとします)を表す 10 進数 [00,53]。年が明けてから最初の月曜日までの全ての 曜日は 0 週目に属すると見なされます。 |
(3) |
%x |
ロケールにおける適切な日付の表現。 | |
%X |
ロケールにおける適切な時刻の表現。 | |
%y |
上 2 桁なしの西暦年を表す 10 進数 [00,99]。 | |
%Y |
上 2 桁付きの西暦年を表す 10 進数。 | |
%Z |
タイムゾーンの名前 (タイムゾーンがない場合には空文字列)。 | |
%% |
文字 “%” 自体の表現。 |