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