31

この文字列「2008-12-1219:21:10」を言うことができる場合、それを日付に変換し、作成されたオブジェクトから年、月、日を個別に取得するにはどうすればよいですか?

4

4 に答える 4

46

datetime.datetime.strptime()関数を使用します:

from datetime import datetime
dt = datetime.strptime(datestring, '%Y-%m-%d %H:%M:%S')

これでdatetime.datetimeオブジェクトができ.year、それに属性が.monthあります。.day

>>> from datetime import datetime
>>> datestring = "2008-12-12 19:21:10"
>>> dt = datetime.strptime(datestring, '%Y-%m-%d %H:%M:%S')
>>> print dt.year, dt.month, dt.day
2008 12 12
于 2012-09-14T18:50:49.400 に答える
4

https://www.tutorialspoint.com/python/time_strptime.htm ここで、strptime()メソッドの完全な説明を見つけることができます。ここで、すべてのタイプの文字列を見つけることができます。例:-この「15-MAY-12」のように文字列を変換するには

>>>from datetime import datetime
>>>datestring = "15-MAY-12"
>>>dt = datetime.strptime(datestring, '%d-%b-%Y')
>>>print(dt.year, dt.month, dt.day)
 2012 MAY 15
于 2017-06-26T18:36:06.363 に答える
3

追加するものが1つあります。%y2桁の年表記%Yは4桁の年表記であることに注意してください。

import datetime

datestring = '15-MAY-12'
print(datetime.datetime.strptime(datestring, '%d-%b-%y'))
>>> datetime.datetime(2012, 5, 15, 0, 0)

datestring = '15-MAY-2012'    
print(datetime.datetime.strptime(datestring, '%d-%b-%Y'))
>>> datetime.datetime(2012, 5, 15, 0, 0)
于 2018-06-20T21:51:06.103 に答える
2

ミリ秒単位

>>> from datetime import datetime
>>> datestring = "2018-04-11 23:36:18.886585"
>>> dt = datetime.strptime(datestring, '%Y-%m-%d %H:%M:%S.%f')
>>> print dt.year, dt.month, dt.day
2018 04 11
于 2018-04-12T06:40:30.920 に答える