gpt4 book ai didi

python - 如何查找一年中每个月第一周的所有周数 python

转载 作者:太空宇宙 更新时间:2023-11-03 15:53:39 25 4
gpt4 key购买 nike

我想创建一个在每个月第一周的星期日举行的事件。

这就是我在 6 月 的第一周获取日期的特定周数所做的事情:

from datetime import datetime
myDate = "2017 22 0"
# here `2017` is year, `22` is week number and `0` =sunday is week day
datetime.strptime(myDate, "%Y %W %w")

#output...
datetime.datetime(2017, 6, 4, 0, 0)

所以我需要一个包含每个月第一周的所有周数的列表,这样我就可以循环它并获得所需的日期。

添加更多信息

我想要一个返回周数列表的方法,这些周数是一个月的第一周,其中第一周表示该周有第一个星期日。

def get_week_number(year=2017, day=0):
#day 0 means sunday
...
...
return [1, 5, 9, 13, 18, 22, ...]

最佳答案

(已编辑,由于工作日编号错误)

>>> import datetime
>>> june1 = datetime.datetime(2017,6,1)
>>> june1
datetime.datetime(2017, 6, 1, 0, 0)
>>> june1_weekday = june1.weekday()
>>> if june1_weekday < 6: # 6 indicates Sunday
first_sunday_in_june = june1 + datetime.timedelta(days=6-june1_weekday)
else:
first_sunday_in_june = june1


>>> print(first_sunday_in_june)
2017-06-04 00:00:00

假设您需要 ISO 周数,则可以使用 isocalendar() 方法。这给出了一个元组 (year, weeknumber, weekday)。这使用周从星期一开始的约定,一年中的第一周是一年中至少有四天的第一周(或者换句话说,第一个星期四的那一周)。

>>> first_sunday_in_june.isocalendar()
(2017, 22, 7)

如果您对一周的第一天或一年的第一周有其他约定,则必须编写自己的函数来获取周数。

在几个月内循环使用上述方法,您可以创建带有周数的所需列表。

关于python - 如何查找一年中每个月第一周的所有周数 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44906042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com