web-dev-qa-db-ja.com

Pythonでは、文字列を日付オブジェクトに変換し、年、月、日を個別に取得するにはどうすればよいですか?

この文字列 "2008-12-12 19:21:10"を言わせたら、それを日付に変換し、作成したオブジェクトから年、月、日を個別に取得するにはどうすればよいですか?

21
Ivan Juarez

datetime.datetime.strptime() function を使用します。

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
30
Martijn Pieters

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)enter code here
 2012 MAY 15
1
user8217035

ミリ秒

>>> 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
1
Vijay Krishna

追加すべきことの1つ。 %yは2桁の年表記です%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)
0
Hamidreza