【问题标题】:Python Get date from weekday of current week?Python从本周的工作日获取日期?
【发布时间】:2023-03-26 22:14:01
【问题描述】:

我正在尝试从本周的工作日获取日期

week_day = date.today().weekday() 

从这个week_day我想得到确切的星​​期几-27/05/2021

【问题讨论】:

  • date.today() 有什么问题?为什么需要使用工作日?你怎么知道现在是星期几(不是使用date.today()?)你要解决什么问题需要这种迂回的方法?
  • @N.Wouda 我有 week_day 编号/名称 - 例如:Tuesday/1,Friday/4。我需要根据工作日编号或工作日名称获取当前的星期日期
  • @user15590480 the strptime format code 对于工作日数字,将 0 分配给星期日,将 1 分配给星期一,...,最后将 6 分配给星期六。您的示例似乎将 0 分配给星期一,将 1 分配给星期二,......所以就标准而言,它偏离了一个。这仅仅是由于示例,还是您在实际数据中拥有的东西?

标签: python date datetime python-datetime


【解决方案1】:

如果我理解正确,您想按数字(或名称,但您可以轻松地进行转换)获取本周工作日的 date

我可以建议您使用以下函数,计算与当前日期的差异:

from datetime import date, timedelta
def date_for_weekday(day: int):
     today = date.today()
     # weekday returns the offsets 0-6
     # If you need 1-7, use isoweekday
     weekday = today.weekday()
     return today + timedelta(days=day - weekday)

# Usage
>>> date_for_weekday(0)
datetime.date(2021, 5, 24)
>>> date_for_weekday(1)
datetime.date(2021, 5, 25)
>>> date_for_weekday(4)
datetime.date(2021, 5, 28)
>>> date_for_weekday(3)
datetime.date(2021, 5, 27)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    相关资源
    最近更新 更多