python datetime.timedelta 一坑

葫芦的运维日志

浏览量 5365 2019/03/19 14:02

datetime.timedelta

内部只存储days,seconds,microseconds。

今天使用时 用两个datetime相减,结果发现:

>>> (datetime.strptime('2019-03-19 11:35:44', '%Y-%m-%d %H:%M:%S') - datetime.strptime('2019-03-16 11:35:44', '%Y-%m-%d %H:%M:%S')).seconds
0

竟然是0。。。  按逻辑应该返回的是两个时间之间的差值,结果返回的是 抛去天后的时间差值。

正确使用:

应该吧days 换算成秒后再加上 seconds才能得到两个日期时间的差值。

>>> timedelta=(datetime.strptime('2019-03-19 11:35:44', '%Y-%m-%d %H:%M:%S') - datetime.strptime('2019-03-16 11:35:44', '%Y-%m-%d %H:%M:%S')).seconds
>>> timedelta+= (datetime.strptime('2019-03-19 11:35:44', '%Y-%m-%d %H:%M:%S') - datetime.strptime('2019-03-16 11:35:44', '%Y-%m-%d %H:%M:%S')).days*24*60*60
>>> timedelta
259200

 

葫芦的运维日志

打赏

留言板

留言提交后需管理员审核通过才会显示

© 冰糖葫芦甜(bthlt.com) 2025 王梓打赏联系方式陕ICP备17005322号-1