开发者社区> 问答> 正文

python 两个 datetime.time怎么相加减??报错

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类型,原始数据是从数据库中取出,现在要把两个时间做减法,一做减法就报错,~~~~求解~~有高手遇到这个问题吗?

展开
收起
爱吃鱼的程序员 2020-06-06 21:27:40 1063 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        <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。

    2020-06-06 21:27:57
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载