如何使用datetime获得某一天一周内的所有日期?



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

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

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

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

您可以使用- 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对象+ timedelta对象返回datetime对象。您可以在计算中直接使用返回的datetime对象

使用datetime,生成给定日期之后的所有7个日期,包括给定日期,您可以这样做:

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

有一些库提供了更好的api来执行datetime/date操作,最著名的是pandas(尽管它包含了更多)。看到pandas.date_range。

相关内容

  • 没有找到相关文章

最新更新