两个日期之间的Python差异与时间模块

时间:2016-03-04 01:12:20

标签: python time

有没有办法与时间而不是日期时间做时差,这就是我要做的事情:

date1 = time.strptime('02/03/2016 16:01:55', '%d/%m/%Y %H:%M:%S')
date2 = time.localtime(time.time())
print date2 - date1

但我只得到错误:

TypeError: unsupported operand type(s) for -: 'time.struct_time' and 'time.struct_time'

2 个答案:

答案 0 :(得分:0)

您可以使用time.mktime()time_struct获取自纪元以来的秒数:

date = time.strptime('02/03/2016 16:01:55', '%d/%m/%Y %H:%M:%S')
seconds_since_epoch = time.mktime(date)
difference = time.time() - seconds_since_epoch
print time.local_time(difference)

答案 1 :(得分:0)

希望这有帮助

>>> from datetime import datetime
>>>
>>>
>>> d1 = datetime.strptime('02/03/2016 16:01:55', '%d/%m/%Y %H:%M:%S')
>>> d1
datetime.datetime(2016, 3, 2, 16, 1, 55)
>>> d2 = datetime.now()
>>> d1
datetime.datetime(2016, 3, 2, 16, 1, 55)
>>> d2
datetime.datetime(2016, 3, 3, 18, 7, 14, 931872)
>>> d2 - d1
datetime.timedelta(1, 7519, 931872)
>>> (d2 - d1).seconds
7519
>>> (d2 - d1).days
1