4

我有一些在字典中特定日期发生的测量。看起来像

date_dictionary['YYYY-MM-DD'] = measurement.

我想计算从给定日期起 7 天内测量值之间的差异。当我将日期字符串转换为 adatetime.datetime时,结果看起来像一个元组或一个数组,但不像一个。

有没有一种简单的方法可以从给定日期生成一周内的所有日期?如果是这样,我怎样才能有效地做到这一点?

4

2 回答 2

4

使用 datetime 生成给定日期之后的所有 7 个日期,包括给定日期,您可以执行以下操作:

import datetime
dt = datetime.datetime(...)
week_dates = [ dt + datetime.timedelta(days=i) for i in range(7) ]

有一些库提供了更好的 API 来执行日期时间/日期操作,最值得注意的是pandas(尽管它包含更多)。请参阅pandas.date_range

于 2015-07-22T05:01:39.410 回答
3

您可以使用 - 来执行此操作timedelta。例子 -

>>> from datetime import datetime,timedelta
>>> d = datetime.strptime('2015-07-22','%Y-%m-%d')
>>> for i in range(1,8):
...     print(d + timedelta(days=i))
...
2015-07-23 00:00:00
2015-07-24 00:00:00
2015-07-25 00:00:00
2015-07-26 00:00:00
2015-07-27 00:00:00
2015-07-28 00:00:00
2015-07-29 00:00:00

您实际上不需要打印它,datetimeobject + timedeltaobject 返回一个datetime对象。您可以在计算中直接使用返回datetime的对象。

于 2015-07-22T05:00:16.133 回答