サイトアイコン 知的好奇心

Pythonのdatetime⇔文字列変換する方法

Pythonにおけるdatetimeを文字列変換、文字列をdatetimeに変換する方法をご紹介します。

条件

datetime オブジェクトとは?

datetime オブジェクトは date オブジェクトおよび time オブジェクトの全ての情報が入っている単一のオブジェクトです。

出典:https://docs.python.jp/3/library/datetime.html

日時(datetime)の取得方法

現在日時(datetime)を取得

now()とすれば現在日時を取得できます。

>>> from datetime import datetime as dt
>>> dt.now()
datetime.datetime(2018, 10, 26, 13, 46, 41, 146247)

数字を指定して日時(datetime)を取得

左から西暦、月、日、時、分、秒を数字で指定します。

>>> from datetime import datetime as dt
>>> dt(2018, 10, 26, 16, 12, 34)
datetime.datetime(2018, 10, 26, 16, 12, 34)

日時(datetime)から文字列へ変換

現在日時(datetime)を文字列に変換

strftimeの引数に文字列として出力する際のフォーマットを指定します。

>>> from datetime import datetime as dt
>>> str = dt.now().strftime('%Y/%m/%d %H:%M:%S')
>>> str
'2018/10/26 13:49:41'

数字を指定して取得した日時(datetime)を文字列に変換

strftimeの引数に文字列として出力する際のフォーマットを指定します。

>>> from datetime import datetime as dt
>>> str = dt(2018, 10, 26, 16, 12, 34).strftime('%Y/%m/%d %H:%M:%S')
>>> str
'2018/10/26 16:12:34'

文字列から日時(datetime)に変換

strptimeの第二引数で指定する文字列に合ったフォーマットを渡します。
(指定フォーマットが文字列と合っていないとエラーになります。)

>>> from datetime import datetime as dt
>>> str = '2018/10/26 16:12:34'
>>> new_datetime = dt.strptime(str, '%Y/%m/%d %H:%M:%S')
>>> new_datetime
datetime.datetime(2018, 10, 26, 16, 12, 34)

 

モバイルバージョンを終了