python - Python 使用 timedelta 数据的 .seconds 属性给出错误结果
问题描述
>>>print(today - date, (today - date).seconds)
[1] 63 days, 8:45:34.250649 31534
↑
这与正确的结果相去甚远。31534 秒远小于 63 天。为什么 python 给出错误的值?
解决方案
您只是请求-seconds
您timedelta
需要.timedelta.totalseconds()
timedelta.seconds
唯一报告增量最后一天花费的所有秒数。
https://docs.python.org/3/library/datetime.html#datetime.timedelta.total_seconds
import datetime
d1 = datetime.datetime.now()
d2 = datetime.datetime.now()-datetime.timedelta(days=1.4)
delta = d1-d2
print(delta, delta.seconds, delta.total_seconds(), sep="\n")
输出:
1 day, 9:35:59.999997
34559 # (9 * 60 + 35 ) * 60 + 59 ca. 34559 - the full day is not part of ".seconds"
120959.999997
推荐阅读
- arrays - 类似于 vlookup 的功能:为什么我的 indexOf 不起作用?
- arrays - 如何强制数组在匹配臂内进行切片?
- php - 为什么 smarty registerPlugin() 在 v3.1.30 左右停止 workgin?
- javascript - 在活动导航选项卡上显示图标和文本,仅在非活动状态下显示图标
- javascript - Jquery - addClass 和 removeClass 在函数内部不起作用
- java - Swing JPasswordField 与内联掩码/取消掩码按钮
- visual-studio - 在不设置断点的情况下调试并查看我在代码中的位置?
- reactjs - 如何在与 redux 的反应中获取数据
- javascript - Change value of label element inserting href inside
- ios - How to access searchtextfield of a search bar in IOS 12