我有一些在字典中特定日期发生的测量。看起来像
date_dictionary['YYYY-MM-DD'] = measurement
.
我想计算从给定日期起 7 天内测量值之间的差异。当我将日期字符串转换为 adatetime.datetime
时,结果看起来像一个元组或一个数组,但不像一个。
有没有一种简单的方法可以从给定日期生成一周内的所有日期?如果是这样,我怎样才能有效地做到这一点?
使用 datetime 生成给定日期之后的所有 7 个日期,包括给定日期,您可以执行以下操作:
import datetime
dt = datetime.datetime(...)
week_dates = [ dt + datetime.timedelta(days=i) for i in range(7) ]
有一些库提供了更好的 API 来执行日期时间/日期操作,最值得注意的是pandas
(尽管它包含更多)。请参阅pandas.date_range。
您可以使用 - 来执行此操作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
您实际上不需要打印它,datetime
object + timedelta
object 返回一个datetime
对象。您可以在计算中直接使用返回datetime
的对象。