将日期时间对象列表转换为自特定日期以来的天数列表

时间:2016-08-14 09:00:36

标签: python datetime python-datetime

我有一个很大的日期列表,例如日期时间对象,例如

[datetime.datetime(2016,8,14),datetime.datetime(2016,8,13),datetime.datetime(2016,8,12),....etc.]

而不是我想要的日期的datetime对象,而是自 1/1/1900 日期以来的数字整数值列表。我已将1/1/1900定义为基准日期,在下面的 for 循环中,我计算了自该基准日期以来列表中日期之间的天数:

baseDate = datetime(1900,1,1)
numericalDates = []
for i in enumerate(dates):
    a=i[1]-baseDate
    numericalDates.append(a)

print(numericalDates)

然而,当我打印出来时,我得到 datetime.timedelta 对象

[datetime.timedelta(42592), datetime.timedelta(42591), datetime.timedelta(42590),...etc.]

关于如何以正确的方式转换它的任何想法?

1 个答案:

答案 0 :(得分:3)

timedelta个对象具有days属性,因此您只需将其添加为int

numericalDates.append(a.days)

将导致numericalDates[42594, 42593, 42592]

请注意,您还可以使用列表解析来简化代码:

numericalDates = [(d - baseDate).days for d in dates]