from datetime import time, datetime
def main():
a = time(hour=8, minute=00, second=00, microsecond=0)
b=time(hour=18, minute=34, second=56, microsecond=0)
print(b-a)
if __name__ == '__main__':
main()
这个里面a,和b都是datetime.time类型,原始数据是从数据库中取出,现在要把两个时间做减法,一做减法就报错,~~~~求解~~有高手遇到这个问题吗?
<p>改成:</p>
print (b.timestamp()-a.timestamp())
测试代码:
import time
import datetime
a=datetime.datetime.now()
time.sleep(5)
b=datetime.datetime.now()
print (b.timestamp()-a.timestamp())
输出:
D:\python>python time2.py
5.000286102294922
<p>将你的时间换算成时间戳就可以计算了, </p>
<p>谢谢各位的热心解答,我用的是python3.6.4版本,a和的类型都是<class 'datetime.time'>,这个类型没有timestamp()方法,datetime.datetime.now()获取到的时间类型是<class 'datetime.datetime'>。谢谢各位热心回答,我决定吧数据库导出的格式由<class 'datetime.time'>变更为<class 'datetime.datetime'>类型了,就支持,加减操作了。谢谢热心网友回答</p>
<p>先别变更数据库导出的格式,看看:<a rel="nofollow">python中怎么把datetime类型转换成timestamp</a> 可能对你有用。这个帖子是前两个多月才发出的:推荐于2018-03-08 16:16:05</p>
那里用的是 python3.6.4。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。