有没有什么办法用Python快速算出本月倒数第三个工作日?

2023-08-31 08:38:41 浏览数 (1)

一、前言

前几天在Python群【宇梁】问了一个Python基础的问题,这里拿出来给大家分享下。

有没有什么办法可以快速算出本月倒数第三个工作日的?我搜过CSDN 问过ChatGPT 都没有什么好的解决方案?

二、实现过程

后来【铃Maksim】问了ChatGPT,得到了一个解答,初步测试好像没啥问题,代码如下所示:

代码语言:javascript复制
import datetime


def get_third_last_workday(year, month):
    # 求出当月最后一天
    last_day = datetime.date(year, month, 1)   datetime.timedelta(days=31)
    last_day -= datetime.timedelta(days=last_day.day)
    while True:
        # 判断最后一天是周几
        if last_day.weekday() < 5:
            break
        last_day -= datetime.timedelta(days=1)
    # 向前推算两个工作日得到倒数第三个工作日
    third_last_workday = last_day - datetime.timedelta(days=2)
    while True:
        # 判断是否为工作日
        if third_last_workday.weekday() < 5:
            break
        third_last_workday -= datetime.timedelta(days=1)
    return third_last_workday


# 示例
print(get_third_last_workday(2023, 6))  # 输出:2023-06-28

顺利地解决了粉丝的问题。方法很多,条条大路通罗马,能解决问题就好。

三、总结

大家好,我是皮皮。这篇文章主要盘点了一个Python基础的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

往期精彩文章推荐:

  • if a and b and c and d:这种代码有优雅的写法吗?
  • Pycharm和Python到底啥关系?
  • 都说chatGPT编程怎么怎么厉害,今天试了一下,有个静态网页,chatGPT居然没搞定?
  • 站不住就准备加仓,这个pandas语句该咋写?

0 人点赞