📜  Python - 获取最近的前一个工作日(1)

📅  最后修改于: 2023-12-03 15:18:52.933000             🧑  作者: Mango

Python - 获取最近的前一个工作日

在日常的开发中,我们经常会需要获取最近的前一个工作日,例如计算某个任务的截止日期或者统计上一个工作日的数据等等。本文将介绍如何使用 Python 获取最近的前一个工作日。

实现思路

我们可以使用 Python 标准库中的 datetimetimedelta 模块来实现获取最近的前一个工作日。首先我们需要获取当前日期,然后不断向前推一天直到找到一个非周末的日期。

示例代码
import datetime

def get_previous_workday():
    today = datetime.date.today()
    timedelta = datetime.timedelta(days=1)
    while True:
        if today.weekday() < 5:
            return today
        today -= timedelta

在上面的代码中,我们首先获取当前日期,然后定义了一个 timedelta 对象,用来表示一天的时间差。然后进入一个 while 循环,判断当前日期是不是周末,如果不是周末就返回当前日期,否则将当前日期减去一天,继续判断。这样直到找到一个非周末的日期为止。

我们可以通过下面的代码验证一下上面的函数是否正确:

print(get_previous_workday())

输出结果应该为当前日期的最近一个工作日。

总结

通过上面的示例代码,我们可以看到使用 Python 获取最近的前一个工作日非常简单。在实际开发中,我们还可以根据自己的需求对上面的代码进行一些修改,例如指定一个日期作为起点来获取最近的前一个工作日等等。