在Python中获取给定周数的第一天和最后一天

发布于 2021-01-29 15:01:01

我需要一个函数,该函数分别返回给定星期数(和一年)的 第一天和最后一天 的星期一和星期日。

在1月1日不是星期一的几周里有困难,所以我无法使用这个标准datetime.datetime.strptime()

关注者
0
被浏览
98
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    解决方法如下:

    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)
    

    我扩展了这篇文章的逻辑。

    更新资料

    第一个日历周有一个陷阱。某些国家/地区对第一周的处理方式有所不同。例如,在德国,如果一月份的第一周少于4天,则将其计为上一年的最后一周。Wikipedia上有一个概述。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看