使用Python查找一年中的某周,该周的周六在周六结束,并且第一周包含至少4天

对于给定的日期,我必须遵循以下规则找到一年中的第几周:

  1. 周从星期日开始,到星期六结束。

  2. 一年中的第一周在1月的第一个星期六结束,只要该日期至少在该月的四天之前就算结束,即使这意味着第一周从12月开始。

我知道datetime.datetime.isocalendar()返回的结果类似,但是一周从星期一开始。该time.strftime('%U',<tuple>)模块返回星期几,星期几从星期日开始,但是它将一年的第一周视为在第一个星期六结束的一周(不考虑一星期中至少有4天在1月)。是否有一个模块可以让我根据上面的定义查找星期数?否则有人可以建议一种方法来超载datetime.isocalendar()

我正在尝试以下方法

步骤1:查找一年中的第一周,从星期日算起几周,而不考虑4天的限制(基本上第一周应包含一年中的第一个星期三)。

我用了

dt = datetime.date.today()

year = dt.year 

first_Sunday = datetime.datetime.strptime('%d-00-0' % year, '%Y-%U-%w').date()

步骤2:确定这样获得的第一周是否包含第一个星期三。


但是由于某种奇怪的原因datetime.datetime.strptime('2013-00-0', '%Y-%U-%w').date(),输出的date(2013, 1, 1)时间显然是星期二!!


绝地无双
浏览 448回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python