Skip to main content
 首页 » 编程设计

python之将 2012-12-19 字符串转换为 Python 中的日期时间对象

2025年05月04日21yyy_WW

我有以下工作代码:

import datetime 
 
d = "2012-12-19"                 
f = map(int,  d.split('-') ) 
day = datetime.date( f[0], f[1], f[2] ) 
 
print day 

但是当我尝试这样写的时候:

day = datetime.date( f ) 

我得到一个异常:类型错误:需要一个整数

为什么会这样,我怎样才能写得更好?

请您参考如下方法:

最好是使用 datetime.strptime() 方法:

datetime.datetime.strptime(d, '%Y-%m-%d').date() 

演示:

>>> import datetime 
>>> d = "2012-12-19"                 
>>> datetime.datetime.strptime(d, '%Y-%m-%d').date() 
datetime.date(2012, 12, 19) 

您没有传递 f[0] 等。但是,如果您这样做了,您的方法会起作用,或者:

datetime.date(*f)