Pythonにおけるdatetimeを文字列変換、文字列をdatetimeに変換する方法をご紹介します。
目次
条件
- Python 3.7.0
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)