2014-10-06 71 views
0

我有一个开始日期(可以说2014年1月5日)和结束日期(可以说2014年7月10日)。我知道每个星期三都会有一个事件发生。 Python中有一种简单的方法可以在周三输出所有日期范围之间的日期吗?输出日期范围内的所有日期

因此,假设1月7日是星期三,那么代码片段将输出01.07.2014,01.14.2014,01.21.2014等等。

+1

没有像这样的内置函数,但是您可以轻松添加'timedelta(days = 7)'来跳过一个星期。 – jonrsharpe 2014-10-06 20:56:30

+0

标记为“重复”的问题在这里忽略了一半的问题。 – 2014-10-06 21:02:06

+1

@MarkRansom:* half *?这里没有任何OP的尝试,所以我们可以假设他们已经可以自己做多少。从给定日期查找下一个星期三也是一个骗局。一旦你有这两件事,把它放在一起是微不足道的。 – 2014-10-06 21:03:21

回答

1

给定日期后得到的第一个具体工作日,只需添加差的timedelta在平日:

wed = 2 # from the datetime.weekday definition 
first_wed = start + datetime.timedelta(days=(7 + wed - start.weekday()) % 7) 

一旦你的,请参阅Generate a list of datetimes between an interval in python

+0

这部分是[Python:在给定日期后查找第一个星期一的日期]的一个重复(http://stackoverflow.com/q/6558535)。真的,没有必要重新开放这块金块。 – 2014-10-06 21:06:00

+0

Hrm,不知道这是否值得downvote虽然(没有投票)。 – 2014-10-06 21:07:38

+0

@MartijnPieters,你比我想象的更熟悉这些问题。我现在没有问题关闭这个问题。 – 2014-10-06 21:07:43