【问题标题】:How to get last Friday's date with Python?如何使用 Python 获取上周五的日期?
【发布时间】:2021-09-29 06:42:10
【问题描述】:

有没有办法使用 Python 获取上周五的日期并将其存储在一个变量中,而不管程序在一周中的哪一天运行?

也就是说,如果我在 2021 年 6 月 19 日星期一或 2021 年 6 月 22 日星期四运行程序,它总是返回上一个星期五作为日期变量:2021-07-16。

【问题讨论】:

    标签: python date python-datetime weekday


    【解决方案1】:

    要将星期几作为 int 我们使用 datetime.datetime.today().weekday() 并从我们使用 datetime.today() - timedelta(days=days_to_subtract) 的日期时间中减去天数,现在我们可以制作一个字典,将星期几与要减去的天数和使用该字典进行减法:

    from datetime import datetime, timedelta
    d = {0:3,1:4,2:5,3:6,4:0,5:1,6:2}
    lastfriday = datetime.today()-timedelta(days=d[datetime.today().weekday()])
    

    【讨论】:

      【解决方案2】:

      您的问题类似于this one 这是一个起点:

      import datetime
      
      def get_last_friday():
          current_time = datetime.datetime.now()
          last_friday = (current_time.date()
              - datetime.timedelta(days=current_time.weekday())
              + datetime.timedelta(days=4, weeks=-1))
          return last_friday
      

      【讨论】:

      • 您应该将此作为评论发布,以便将其标记为重复
      猜你喜欢
      • 2015-05-12
      • 2012-08-08
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      相关资源
      最近更新 更多