在计算时间差的时候,比较容易得到timedelta这样的格式
比如:
>>> import datetime
>>> datetime.datetime.now()-datetime.datetime(2021,1,1)
datetime.timedelta(days=150, seconds=40790, microseconds=833309)
>>> a = datetime.datetime.now()-datetime.datetime(2021,1,1)
>>> a
datetime.timedelta(days=150, seconds=40806, microseconds=749774)
>>> str(a)
'150 days, 11:20:06.749774'
>>> a.days
150
>>> a.seconds
40806
>>>
这里如果仅仅是输出天数,就很容易得到,但是具体一点的信息显示的不是很友好
因此可以先利用函数将其全部转化为秒,然后再计算
>>> (datetime.datetime.now()-datetime.datetime(2021,1,1)).total_seconds()
13000936.085446
然后利用下面的函数就能转化为具体花费的多少时间
def seconds_to_dhms(seconds):
def _days(day):
return "{} days, ".format(day) if da