在 Python 中如何将天数添加到日期
作者:迹忆客 时间:2023-02-09 03:34:30
使用 datetime 模块中的 timedelta()
方法将天数添加到日期中,例如 result_1 = date_1 + timedelta(days=3)
。 timedelta
方法可以传递天数参数并将指定的天数添加到日期。
from datetime import datetime, date, timedelta
# ✅ 将天数添加到日期
my_str = '09-24-2023' # 👉️ (mm-dd-yyyy)
date_1 = datetime.strptime(my_str, '%m-%d-%Y')
print(date_1) # 👉️ 2023-09-24 00:00:00
result_1 = date_1 + timedelta(days=3)
print(result_1) # 👉️ 2023-09-27 00:00:00
# -----------------------------------------------
# ✅ 将天数添加到当前日期
current_date = datetime.today()
print(current_date) # 👉️ 2022-06-20 09:42:22.341830
result_2 = current_date + timedelta(days=7)
print(result_2) # 👉️ 2022-06-27 09:43:09.084770
# -----------------------------------------------
# ✅ 使用 date 而不是 datetime
date_3 = date(2023, 9, 24)
print(date_3) # 👉️ 2023-09-24
result_3 = date_3 + timedelta(days=3)
print(result_3) # 👉️ 2023-09-27
# -----------------------------------------------
# ✅ 将天数添加到当前日期(使用 date 而不是 datetime)
date_4 = date.today()
print(date_4) # 👉️ 2022-06-20
result_4 = date_4 + timedelta(days=7)
print(result_4) # 👉️ 2022-06-27
确保从 datetime 模块导入 datetime
或 date
和 timedelta
类。
使用此方法时,月份(和年份)将在必要时滚动。
第一个示例使用 datetime.strptime()
方法获取与提供的日期字符串对应的日期时间对象,并根据指定格式进行解析。
一旦我们有了 datetime
对象,我们就可以使用 timedelta
类来添加天数。
from datetime import datetime, timedelta
my_str = '09-24-2023' # 👉️ (mm-dd-yyyy)
date_1 = datetime.strptime(my_str, '%m-%d-%Y')
print(date_1) # 👉️ 2023-09-24 00:00:00
result_1 = date_1 + timedelta(days=3)
print(result_1) # 👉️ 2023-09-27 00:00:00
示例中的日期字符串格式为 mm-dd-yyyy
。
如果我们有一个以不同方式格式化的日期字符串,请使用此文档表来查找您应该作为第二个参数传递给 strptime()
方法的格式代码。
第二个示例将天数添加到当前日期。
from datetime import datetime, timedelta
current_date = datetime.today()
print(current_date) # 👉️ 2022-06-20 09:42:22.341830
result_2 = current_date + timedelta(days=7)
print(result_2) # 👉️ 2022-06-27 09:43:09.084770
datetime.today()
方法返回当前本地日期时间。
第三个示例在向日期添加天数时使用 date()
方法而不是 datetime
方法。
from datetime import date, timedelta
date_3 = date(2023, 9, 24)
print(date_3) # 👉️ 2023-09-24
result_3 = date_3 + timedelta(days=3)
print(result_3) # 👉️ 2023-09-27
datetime.timedelta
方法可以传递我们想要添加到 date
或 datetime
对象的天数。
timedelta
方法可以将天、周、小时、分钟、秒、毫秒和微秒作为参数传递。
所有参数都是可选的,默认为 0。
最好只在对 timedelta
类的调用中使用关键字参数,因为参数的顺序可能会造成混淆。
如果我们只需要在操作后提取日期,请在 datetime
对象上调用 date()
方法。
from datetime import datetime, timedelta
now = datetime.now()
print(now)
result = now + timedelta(days=5)
print(result)
print(result.date())
datetime.date
方法返回具有相同年月日的日期对象。
如果我们需要以某种方式格式化日期,请使用格式化字符串文字。
from datetime import datetime, timedelta
now = datetime.now()
print(now)
result = now + timedelta(days=6)
print(result)
print(result.date())
print(f'{result:%Y-%m-%d %H:%M:%S}')
格式化字符串文字
(f-strings)
让我们通过在字符串前加上f
来在字符串中包含表达式。
确保将表达式用大括号括起来 - {expression}
。
格式化字符串文字还使我们能够在表达式块中使用格式规范迷你语言。
第四个示例将天数添加到表示当前日期的 date
对象。
from datetime import date, timedelta
date_4 = date.today()
print(date_4)
result_4 = date_4 + timedelta(days=7)
print(result_4)
date.today
方法返回一个表示当前本地日期的 date
对象。
来源:https://blog.csdn.net/fengqianlang/article/details/129799088