在Python中,如何将字符串转换为日期对象并分别获取年,月和日?

Iva*_*rez 18 python string datetime

如果我让我们说这个字符串"2008-12-12 19:21:10"如何将它转换为日期并分别从该创建的对象中获取年,月和日?

Mar*_*ers 34

使用datetime.datetime.strptime()功能:

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

现在你有一个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
Run Code Online (Sandbox Code Playgroud)


小智 7

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
Run Code Online (Sandbox Code Playgroud)


Vij*_*hna 5

毫秒为单位

>>> 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
Run Code Online (Sandbox Code Playgroud)


Ham*_*eza 5

补充一件事;请注意,%y两位数年份表示法%Y适用于四位数一:

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)
Run Code Online (Sandbox Code Playgroud)