当前位置: 首页 > 面试题库 >

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

柳刚豪
2023-03-14
问题内容

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

在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)

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

更新资料

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



 类似资料:
  • 问题内容: 我有对象 我需要获得本周的第一天和最后一天。我需要将星期日和星期一的两种变体作为一周的开始和结束日期。我现在对代码有点困惑。你能帮我吗? 问题答案: 这适用于本周的第一天=本周的星期天,最后一天=本周的星期六。将其延长到周一至周日是微不足道的。 用户可以练习如何在不同月份的第一天和最后一天工作

  • 问题内容: 我有以下形式的查询: 我很难确定上个季度的正确日期。因此,假设当前日期是 7月1日 ,即第三季度,我想将 4月1日 作为FIRST,将 6月30日 作为最后 一个季度 (即第二季度)的最后一天。 谷歌搜索了一下,找到了很多解决方案,但是每个解决方案都涵盖了SQL Server和可用的时髦方法,在我们的ORACLE数据库(Oracle 10g和11g)上不可用。 哦,是的,我还需要能够将

  • 问题内容: 假设我有2011年1月3日,我想在一周的第一天,也就是星期天,那是2011年1月2日,我该怎么做? 原因是我有此查询: 是的,我意识到起源拼写错误,但是在此之前我就在这里,因此由于太多内部应用程序引用了它,因此我无法对其进行更正。 因此,我按周分组,但我希望以此填充我的图表,所以我不能让所有的周初看起来都像不同的日期。我该如何解决? 问题答案: 如果您需要处理从星期一开始的几周,也可以

  • 我有一个LocalDate,需要得到一个月的第一天和最后一天。我该怎么做? 我需要获取LocalDate格式的和。 使用Three-Ten LocalDate类。

  • 问题内容: 我的输入字符串日期如下: 我得到的月份如下: 但是,如何获取给定String日期中月份的最后一个日历日? 例如:对于字符串,输出必须为。 问题答案: Java 8及更高版本。 通过使用where 是的实例。 Java 7及更低版本。 通过使用以下方法:

  • 问题内容: 我目前正在使用vbscript函数以2/12/2009格式获取本周和上周的第一天值。我想知道是否可以使用SQL查询。 问题答案: 这些语句应该在TSQL中完成您想要的操作。请注意,这些报表基于当前日期。您可以将getdate()替换为所需的任何日期: