在本文中,我们使用 Python 内置模块,datetime
该模块使我们能够在 python 中对日期和时间值执行操作和操作。我们可以传递持续时间或两个日期之间我们想要的差异并接收结束日期。days
该值可以以,weeks
或的形式传递months
。
python 中的日期
通过导入内置的 python 包 ie,datetime
我们可以使用 Date 函数。除了日期对象之外,我们还有时间对象来处理时间、日期和天数。该datetime
模块以年、月、日、时、分、秒的形式描述日期。该datetime
模块有许多方法来返回有关日期的信息,这些信息可以根据用户进行操作,例如我们可以用来date ()
仅返回日期和时间。
库概述
我们使用datetime
和timedelta
模块来为给定日期添加天数。
datetime
:日期和时间操作类在datetime 模块中可用,该datetime
对象返回日期以及小时、分钟和秒。
timedelta
:两个日期或时间之间的差异由timedelta
对象表示,例如,在下面的实现中,我们传递days=5
值以timedelta
接收与给定或当前日期的 5 天差异。
向日期添加天数的示例
现在让我们看一下在 Python 中向日期添加天数的不同示例
示例 1:使用以下命令向给定日期添加天数datetime
from datetime import datetime from datetime import timedelta #adding days to given date given_date_string = "2030-02-01" #year-month-day format #conversion from string to datetime object given_date = datetime.strptime(given_date_string, "%Y-%m-%d" ) #printing given date print ( "The Given date: " ,given_date_string) #calculating new date new_date = given_date + timedelta(days = 6 ) print ( "The New date: " ,new_date) |
在上面的代码中,我们:
- 使用该语句从包中导入
datetime
和模块。timedelta
datetime
from datetime import datetime, timedelta
"2030-02-01"
为变量分配了一个字符串日期given_date_string
。datetime
使用该函数将字符串日期转换为对象datetime.strptime()
,该函数有两个参数:第一个是要转换的字符串,第二个是字符串的格式。格式%Y-%m-%d
字符串指定应按顺序从字符串中提取年、月和日。- 使用 打印字符串格式的原始日期
print("The Given date: ", given_date_string)
。 datetime
使用该函数在原始日期上添加 6 天来创建一个新对象timedelta()
。此函数采用单个参数,该参数指定要在原始日期中添加或减去的天数(或其他单位)。在本例中,days
参数设置为 6。- 使用 打印字符串格式的新日期
print("The New date: ", new_date)
。
如果日期字符串的格式不同,您可以查找需要作为第二个参数传递的格式代码。
输出:
The Given date : 2030-02-01 The New date : 2030-02-07 00:00:00 |
%A | 工作日的前三个字母 Sun |
%A | 工作日的完整名称 Sunday |
%b | 该月的前三个字母 Oct |
%B | 月份的完整名称 October |
示例 2:使用以下命令向当前日期添加天数timedelta
from datetime import timedelta from datetime import date #adding days to current date current_date = date.today() #printing current date print ( 'Current date: ' ,current_date) #calculating new date new_date = current_date + timedelta(days = 4 ) #printing new date print ( 'New date: ' ,new_date) |
输出:
Current date : 2023-02-12 New date : 2023-02-16 |
示例 3:使用date
类向日期添加天数
from datetime import timedelta from datetime import date #using the date class to add days to a date date = date( 2023 , 2 , 12 ) print ( "Input date: " ,date) #passing the number of days and printing the output result = date + timedelta(days = 3 ) print ( "Result date: " ,result) |
输出:
Input date : 2023-02-12 Result date : 2023-02-15 |
示例4:使用date()
方法获取结果日期
from datetime import datetime from datetime import timedelta #using the date() method to get the result date current_date = datetime.now() print ( "Current date: " ,current_date) new_date = current_date + timedelta(days = 5 ) print (new_date) #will print 2023-02-17 23:02:39.058226 print (new_date.date()) #will print 2023-02-17 |
输出:
Current date : 2023-02-12 23:06:34.392314 New date : 2023-02-17 23:06:34.392314 2023-02-17 |
示例 5:向给定日期添加周数
from datetime import datetime from datetime import timedelta from datetime import date #adding weeks to date date = '2023-02-12' given_date = datetime.strptime(date, '%Y-%m-%d' ) print ( 'Given date: ' ,given_date) result = given_date + timedelta(weeks = 2 ) print ( "New date: " ,result) |
输出:
Given date : 2023-02-12 00:00:00 New date : 2023-02-26 00:00:00 |
示例 6:向当前日期添加周数
from datetime import datetime from datetime import timedelta from datetime import date #adding weeks to current date current_date = date.today() print ( 'Current date: ' ,current_date) result = current_date + timedelta(weeks = 2 ) print ( "New date: " ,result) |
输出:
Current date : 2023-02-12 New date : 2023-02-26 |
示例 7:使用date()
班级添加周数
from datetime import datetime from datetime import timedelta from datetime import date #adding weeks using date() current_date = date( 2023 , 2 , 12 ) print ( 'Current date: ' ,current_date) result = current_date + timedelta(weeks = 2 ) print ( "New date: " ,result) |
输出:
Current date : 2023-02-12 New date : 2023-02-26 |
添加日期的实际应用
- 在所需的时间限制内找到文件
- 处理时区
- 打印当前时间、月份和年份。
为了方便访问,请访问此文档以获取参考代码和链接。
概括
在本文中,通过使用 datetime 模块或 timedelta 模块,我们学习了如何通过传递天数作为输入来向日期添加天数。