一、前言
前几天在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语句该咋写?