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

标签 python

我有以下工作代码:

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)

关于python - 将 2012-12-19 字符串转换为 Python 中的日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13953544/

相关文章:

python - CSV 文件创建问题

python - 如何向 mayavi 图中添加图例

python - 如何使用装饰器将函数绑定(bind)到对象实例?

Python:AttributeError:对象没有属性 'method'

python - 整行 Numpy 数组索引操作可以被 cythonized 吗?

python - 每次重复后拆分正则表达式

python - 没有 math.sqrt 的数字的平方根

python - 快速生成 10,000 个随机整数元组

python - 仅获取标记化句子作为 Stanford Core NLP 的输出

python - 输出列表中的所有负数