📅  最后修改于: 2023-12-03 15:20:37.993000             🧑  作者: Mango
在 Python 中,timedelta
是一个用于处理时间差的类。它允许我们在日期之间执行基本的算术运算。timedelta
对象可以用于将日期向前或向后移动一定量的时间,或者计算两个日期之间的时间差。
timedelta
对象可以使用以下方法来创建 timedelta
对象:
import datetime
# 创建一个时间差为一天的timedelta对象
one_day = datetime.timedelta(days=1)
# 创建一个时间差为一小时的timedelta对象
one_hour = datetime.timedelta(hours=1)
# 创建一个时间差为一分钟的timedelta对象
one_minute = datetime.timedelta(minutes=1)
# 创建一个时间差为一秒钟的timedelta对象
one_second = datetime.timedelta(seconds=1)
timedelta
对象支持以下运算符:
+
)-
)*
)/
)%
)+
)-
)==
)!=
)<
)<=
)>
)>=
)# 创建两个日期
d1 = datetime.datetime(2021, 9, 1)
d2 = datetime.datetime(2021, 10, 1)
# 计算两个日期之间的时间差
diff = d2 - d1
print(diff) # 输出: 30 days, 0:00:00
# 将日期向前移动一天
new_date = d1 - datetime.timedelta(days=1)
print(new_date) # 输出: 2021-08-31 00:00:00
import datetime
# 设置当前时间
now = datetime.datetime.now()
# 计算未来的日期
future_date = now + datetime.timedelta(days=365)
print("当前时间: ", now)
print("未来时间: ", future_date)
# 计算两个日期之间的时间差
delta = future_date - now
print("时间差为: ", delta)
print("总共的秒数: ", delta.total_seconds())
# 另一种方式获取当前时间
now = datetime.datetime.utcnow()
# 计算过去的时间
past_date = now - datetime.timedelta(days=365)
print("当前时间(UTC): ", now)
print("过去时间(UTC): ", past_date)
# 计算两个日期之间的时间差
delta = now - past_date
print("时间差为: ", delta)
print("总共的秒数: ", delta.total_seconds())
输出结果为:
当前时间: 2021-09-29 17:43:56.570909
未来时间: 2022-09-29 17:43:56.570909
时间差为: 365 days, 0:00:00
总共的秒数: 31536000.0
当前时间(UTC): 2021-09-29 09:43:56.572656
过去时间(UTC): 2020-09-29 09:43:56.572656
时间差为: 365 days, 0:00:00.000003
总共的秒数: 31536000.000003
在 Python 中,timedelta
是一个十分强大的类,它可以让我们轻松地处理日期和时间差。其中的重要属性和方法包括:
days
:返回时间差的天数seconds
:返回时间差的秒数total_seconds()
:计算时间差的总秒数__str__()
:返回可读性好的字符串表示