在 Python 中将时间添加到日期时间对象
Add time to a datetime object in Python
使用模块中的timedelta()
类datetime
将时间添加到日期时间,例如result = dt + timedelta(hours=2, minutes=25, seconds=24)
。该类
timedelta
可以传递hours
,minutes
和seconds
参数,并将指定的时间添加到日期时间。
主程序
from datetime import datetime, timedelta # ✅ add time to datetime dt = datetime(2023, 9, 24, 9, 30, 35) print(dt) # 👉️ 2023-09-24 09:30:35 result = dt + timedelta(hours=2, minutes=25, seconds=24) print(result) # 👉️ 2023-09-24 11:55:59 print(result.time()) # 👉️ 11:55:59 # ------------------------------ # ✅ add time to current time now = datetime.today() print(now) # 👉️ 2022-06-22 15:45:59.732804 result_2 = now + timedelta(hours=15) print(result_2) # 👉️ 2022-06-23 06:45:59.732804 print(result_2.time()) # 👉️ 06:45:59.732804
如果您只有一个时间组件,例如
09:30:13
向下滚动到最后一个代码片段。确保从模块中导入 timedeltadatetime
类
。datetime
第一个示例使用
datetime
类创建一个datetime
对象。
我们传递了year
、month
、day
、hour
和
参数minute
的值。second
一旦我们有了一个datetime
对象,我们就可以使用timedelta
类来为它添加时间。
主程序
from datetime import datetime, timedelta # ✅ add time to datetime dt = datetime(2023, 9, 24, 9, 30, 35) print(dt) # 👉️ 2023-09-24 09:30:35 result = dt + timedelta(hours=2, minutes=25, seconds=24) print(result) # 👉️ 2023-09-24 11:55:59 print(result.time()) # 👉️ 11:55:59
该类timedelta
可以作为参数传递days
、weeks
、hours
、minutes
、
seconds
和。milliseconds
microseconds
所有参数都是可选的,默认为0
.
第二个示例将时间添加到当前时间。
主程序
from datetime import datetime, timedelta now = datetime.today() print(now) # 👉️ 2022-06-22 15:45:59.732804 result_2 = now + timedelta(hours=15) print(result_2) # 👉️ 2022-06-23 06:45:59.732804 print(result_2.time()) # 👉️ 06:45:59.732804
datetime.today()方法返回当前
本地日期时间。
我们需要使用一个
datetime
对象,因为它会在必要时自动滚动分钟、小时、天、月和年。如果我们只有时间组件,这是不可能的。例如,
11:59:30PM
+2
小时会引发异常。
如果您只有时间组件,请使用该
datetime.combine
方法将时间与当前(或其他某个)日期组合起来并获取一个对象。 datetime
主程序
from datetime import datetime, date, timedelta, time t = time(8, 25, 15) print(t) # 👉️ 08:25:15 result = datetime.combine(date.today(), t) + \ timedelta(hours=4, minutes=10, seconds=10) print(result) # 👉️ 2022-06-22 12:35:25 only_t = result.time() print(only_t) # 👉️ 12:35:25
datetime.combine
方法将 a和
date
作为time
参数,并datetime
通过组合它们返回一个新对象。
一旦我们得到一个datetime
对象,我们就可以使用timedelta
类来为它添加时间。
如果您只需要在操作后提取时间,请使用对象time()
上的方法。datetime
主程序
from datetime import datetime, date, timedelta, time t = time(8, 25, 15) print(t) # 👉️ 08:25:15 result = datetime.combine(date.today(), t) + \ timedelta(hours=4, minutes=10, seconds=10) print(result) # 👉️ 2022-06-22 12:35:25 # ✅ only extract the time component only_t = result.time() print(only_t) # 👉️ 12:35:25
datetime.time
方法返回一个具有相同小时、分钟、秒和毫秒的时间对象。