4.2.3 timedelta
通过对两个datetime对象完成算术运算,或者结合使用datetime和timedelta,可以计算出将来和过去的日期。将两个日期相减可以生成一个timedelta,还可以对某个日期增加或减去一个timedelta来生成另一个日期。timedelta的内部值按日、秒和微秒存储。
import datetime
print('microseconds:',datetime.timedelta(microseconds=1))
print('milliseconds:',datetime.timedelta(milliseconds=1))
print('seconds :',datetime.timedelta(seconds=1))
print('minutes :',datetime.timedelta(minutes=1))
print('hours :',datetime.timedelta(hours=1))
print('days :',datetime.timedelta(days=1))
print('weeks :',datetime.timedelta(weeks=1))
传入构造函数的中间值会被转换为日、秒和微秒。
运行结果:
一个timedelta的完整时间段可以使用total_seconds()得到,并作为一个秒数返回。
import datetime
for delta in [datetime.timedelta(microseconds=1),
datetime.timedelta(milliseconds=1),
datetime.timedelta(seconds=1),
datetime.timedelta(minutes=1),
datetime.timedelta(hours=1),
datetime.timedelta(days=1),
datetime.timedelta(weeks=1),
]:
print('{:15} = {:8} seconds'.format(
str(delta),delta.total_seconds()
))
返回值是一个浮点数,因为有些时间段不到1秒。
运行结果: