如何使用 Python 的 DateTime 添加和减去天数?

2025年1月5日 | 阅读 4 分钟

Python 提供了许多用于修改数据的模块和类,例如添加或减去天数。其中一个模块就是 datetime 模块。

日期时间

Python 的 datetime 模块是一个强大的工具,提供了几个用于处理日期和时间的类。使用此模块,您可以高效地处理和表示各种格式的日期和时间。它包含各种类,例如 datetime 和 timedelta 类,旨在简化您的工作。

什么是 datetime 类?

datetime 类是最常用的类,它表示一个包含日期和时间组件的时间点。它有几个属性,如 year、month、day、hour、minute、second 和 microsecond,易于使用。

什么是 timedelta 类?

Python 的 datetime 模块提供了 timedelta 类,它表示一个时间持续时间,即两个日期或时间之间的差值。此类允许您对日期和时间执行算术运算,从而可以轻松地将一定量的添加到给定日期或时间,或从中减去。当您需要执行诸如查找两个日期之间的差值以及将天、小时、分钟或秒添加到给定日期或时间或从中减去等计算时,timedelta 类特别有用。

How to Add and Subtract Days Using DateTime in Python

1. 添加和减去当前日期的天数

示例 1

让我们看看如何使用 datetime 类创建日期并对其进行修改。

程序

输出

2024-01-01 17:20:26.097500
Current date and time: 2024-01-01 17:20:26.097500
Date after adding 3 days: 2024-01-04 17:20:26.097500

说明

我们使用 timedate 类创建了当前日期,并使用 timedelta 类修改了日期。

示例 2

以下是一个从日期中减去天数的示例程序

程序

输出

2024-01-01 17:39:24.179001
Current date and time: 2024-01-01 17:39:24.179001
Date after subtracting 3 days: 2023-12-29 17:39:24.179001

说明

在这里,我们使用 timedelta 类从当前日期中减去了 3 天。

向指定日期添加和减去天数

示例 1

以下是一个向指定日期添加天数的示例程序

程序

输出

Specified Date time:  2023-09-12 10:13:10
Current date 2023-09-12 10:13:10
New date after adding 7 days:  2023-09-19 10:13:10
New date after subtracting 7 days:  2023-09-05 10:13:10

说明

我们导入了所需的库,指定了 datetime 对象,使用 datetime 类创建了它,并使用 timedelta 类对其进行了操作。在这里,我们向其添加和减去了天数。最后,我们打印了修改后的日期。

用户输入和动态操作

让我们来看一个简单的程序,从用户那里获取日期和天数以进行修改

程序

输出

Enter a date (YYYY-MM-DD): 2023-12-31
Enter the number of days to add/subtract: 9
Result after adding: 2024-01-09 00:00:00
Result after subtracting: 2023-12-22 00:00:00

说明

我们首先导入必要的模块,并创建一个名为 current_datetime 的 datetime 对象,该对象表示 2023 年 9 月 12 日 10:13:10。

接下来,我们对 current_datetime 执行两个操作

1. 添加 7 天 (timedelta(days=7))

我们使用 timedelta 类表示 7 天。通过将此持续时间添加到 current_datetime,我们得到一个名为 new_date_afteraddition 的新日期。

2. 减去 7 天 (timedelta(days=-7))

我们再次使用 timedelta 类,但 days 参数的值为负。通过从此持续时间从 current_datetime 中减去,我们得到一个名为 new_date_aftersubtraction 的新日期。

最后,我们打印操作的结果。本节显示原始的 current_datetime、添加 7 天后的新日期 (new_date_afteraddition) 和减去 7 天后的新日期 (new_date_aftersubtraction)。

结论

利用 Python 的 `datetime` 模块是向日期添加或减去天数的可靠且简单的方法。通过该模块的 `timedelta` 类,您可以轻松地操作时间间隔,并以极高的精度向现有日期添加或减去天数。此功能在日期算术、调度和数据分析等各种应用中特别有用,在这些应用中,准确跟踪和操作时间至关重要。通过利用 `datetime` 模块的多功能功能,Python 开发人员可以高效地处理与日期相关的操作,从而确保其应用程序的精确性和可靠性。