Python从值列表中创建日期时间对象

时间:2014-08-27 09:58:03

标签: python python-2.7 datetime

我有一个包含datetime对象值的列表:

values = ['2014', '08', '17', '18', '01', '05']

将其转换为int:     values = map(int, values)

现在我需要创建newdate:

newdate = datetime.datetime(values[0], values[1], values[2], values[3], values[4], values[5])

有更好的方法吗?

1 个答案:

答案 0 :(得分:14)

使用参数扩展:

newdate = datetime.datetime(*values)

调用中的*expression语法将expression的输出作为序列,并将每个元素作为单独的参数应用。

这适用于长度在3到8个元素之间的任何序列,前提是前7个都是整数,第8个(如果存在)是datetime.tzinfo subclass

结合映射到int

values = ['2014', '08', '17', '18', '01', '05']
newdate = datetime.datetime(*map(int, values))

演示:

>>> import datetime
>>> values = ['2014', '08', '17', '18', '01', '05']
>>> datetime.datetime(*map(int, values))
datetime.datetime(2014, 8, 17, 18, 1, 5)