我需要一个函数,该函数分别返回给定星期数(和年份)的第一天和最后一天的星期一和星期日。
在1月1日不是星期一的几周里有困难,所以我无法使用这个标准datetime.datetime.strptime()。
解决方法如下:
import calendar
import datetime
from datetime import timedelta
def get_start_and_end_date_from_calendar_week(year, calendar_week):
monday = datetime.datetime.strptime(f'{year}-{calendar_week}-1', "%Y-%W-%w").date()
return monday, monday + datetime.timedelta(days=6.9)
Run Code Online (Sandbox Code Playgroud)
我扩展了这篇文章的逻辑。
更新资料
第一个日历周有一个陷阱。某些国家/地区对第一周的处理方式有所不同。例如,在德国,如果一月份的第一周少于4天,则将其计为上一年的最后一周。Wikipedia上有一个概述。
| 归档时间: |
|
| 查看次数: |
2613 次 |
| 最近记录: |