使用 Python Timedelta 月份计算日期
在本篇文章中,我们将通过 timedelta 学习如何在 Python 中使用日期时间。 我们将了解如何计算当前日期或任何其他日期六个月后的日期。
让我们深入了解一下!
Python 日期时间函数
好吧,首先,我们将了解日期时间函数的工作原理以及限制我们功能的缺点是什么。 您需要知道的第一件事是在代码中导入日期时间。
import datetime
之后,您将创建日期时间的实例。 创建实例后,您可以使用其算术函数。
您可以减去一天和一个月。 看看下面的代码。
#instance of datetime
date = datetime.datetime(2022,2,1)
#subtracting 1 from the month
date = date.replace(month=date.month-1)
print(date)
输出:
2022-01-01 00:00:00
正如您在上面的代码中看到的,在算术函数的帮助下,我们从之前设置的日期中减去了一个月。 但这里有一个问题,如果我们尝试从上面的结果中减去一个月会怎么样?
该代码会给我们一个错误。 看一看。
date = date.replace(month=date.month-1)
输出:
date = date.replace(month=date.month-1)
ValueError: month must be in 1..12
datetime 函数不允许我们使用算术函数并减去一整年,因为它不支持它。 同样,如果我们在当前日期位于 12 月的最后几天时添加 1 或 2,则会给出相同的错误。
# if you add 1 in date, it will throw an error because it doesn't support it
date= datetime.datetime(2022,12,1)
date_= date.replace(month=date_1.month+1)
输出:
date = date.replace(month=date.month+1)
ValueError: month must be in 1..12
那么,回到问题,我们如何计算从当前日期或任何其他日期算起六个月的日期? 答案在于使用relativedelta。
使用 Python 中的relativedelta() 计算日期
在我们继续在 Python 代码中使用relativedelta 之前,我们需要安装 dateutil 以从中导入relativedelta。 在命令提示符中运行以下命令来安装 dateutil。
pip install python-dateutil
安装后,您需要从中导入relativedelta。
from dateutil import relativedelta
之后,我们需要同时使用datetime和relativedelta来解决当前的问题。 看看下面的代码。
date = datetime.datetime(2022,1,1)
# created the instance of the datetime and set the current date as 2022,1,1
现在,我们将创建relativedelta 的实例并将月份的值设置为1。
r_date = relativedelta.relativedelta(months=1)
现在,我们需要做的就是从日期时间实例中减去relativedelta 实例。 它会给我们想要的答案。
# if you subtract the relativedelta variable with the date instance, it will work correctly and change the year too.
new_date = date - r_date
print(new_date)
输出:
2021-12-01 00:00:00
类似地,如果我们将日期加 1,就会得到所需的输出。
现在我们可以使用这种技术来计算当前日期的任何日期。 这就回答了我们如何计算从当前日期算起六个月的日期。
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串