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

带时间模块的两个日期之间的Python差异,python,time,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_ti

有没有办法用时间而不是日期时间来计算时差,这就是我想做的:

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'

您可以使用
time.mktime()
time结构
获取自历元以来的秒数:

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)
希望这有帮助

>>> 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

所以错误是你不能做简单的时间物体减法。你能做一些像时间差(date2,date1)这样的事情吗?ps我没有python经验。为什么
datetime
对你不起作用?不如像OP问的那样减去两个time结构对象呢?@RafaelCardoso我不明白。。。你不能那样做。OP请求两个
时间结构之间的差异,这正是isIt应该是
打印时间。localtime(差异)
@Dominik:
time.mktime()
可能会失败。如果你需要可靠的结果;使用
pytz
。见相关问题: