gpt4 book ai didi

python - 获取当前周数的算法(不是 ISO)

转载 作者:太空宇宙 更新时间:2023-11-04 01:18:58 41 4
gpt4 key购买 nike

我正在寻找一种简单的方法来使用 Python 获取一年中的当前周数。我很清楚标准库中的 datetime.datetime.isocalendar() 函数,但是这个函数规定第 1 周是新年的第一个星期一。我的困境是我使用周日作为每周的起点,如果周日是 12 月 27 日,而 1 月 1 日出现在该周的某个时间点,我需要将该周表示为第 1 周(和 2015 年) .

我想到了做类似(伪代码)的事情:

if (Jan 1) - (current_sunday) < 7 days:
week_num = 1

然后将周数存储在某处以在下周进行迭代。但是,我觉得这是一种非常 hackish 的方法,我更喜欢更干净的方法。

最佳答案

一般获取当前周数(从周日开始):

>>> import datetime
>>> import calendar
>>> today = datetime.date.today())
>>> (int(today.strftime('%U')) + (datetime.date(today.year+1, 1, 1).weekday() != calendar.SUNDAY)) % 53
12

来自 strftime('%U') 的文档:

"Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0."

因此根据您的特定要求修改代码。没有真正的非 hacky 方法来做你想做的事。

关于python - 获取当前周数的算法(不是 ISO),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541335/

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