我有一个很大的日期列表,例如日期时间对象,例如
[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.]
关于如何以正确的方式转换它的任何想法?
答案 0 :(得分:3)
timedelta
个对象具有days
属性,因此您只需将其添加为int
:
numericalDates.append(a.days)
将导致numericalDates
为[42594, 42593, 42592]
。
请注意,您还可以使用列表解析来简化代码:
numericalDates = [(d - baseDate).days for d in dates]