Python 时间减法生成时间元组

我想减去2倍,并将其转换为时间数组。


我咨询了此方法如何计算两个时间字符串之间的时间间隔。说明以下代码


from datetime import datetime as dt

import time


print("Time Subtraction")

FMT = '%Y-%m-%d %H:%M:%S'

time_tuple = (2018, 1, 13, 13, 51, 18, 2, 317, 0)

time2_tuple = (2018, 1, 15, 13, 50, 18, 2, 317, 0)

s1 = time.strftime(FMT, time_tuple)

s2 = time.strftime(FMT, time2_tuple)


tdelta = dt.strptime(s2, FMT) - dt.strptime(s1, FMT)

print(tdelta)

结果是:


Time Subtraction

1 day, 23:59:00

但是我想要一个像这样的元组/打印


tuple = (0,0,1,23,59,0,2,317,0)

我通常使用时间而不是日期时间,所以我不确定该怎么做。有任何想法吗?


HUWWW
浏览 256回答 1
1回答

慕勒3428872

tdelta是一个datetime.timedelta对象,因此您正在打印该对象的字符串表示形式。您可以通过对属性执行简单的算术(因为它们存储为天数)来获取天数、小时数、分钟数等:def days_hours_minutes(delta):     return delta.days, delta.seconds//3600, (delta.seconds//60)%60您可以根据需要向元组添加任意数量的这些属性。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python