首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python秒对total_seconds

Python秒对total_seconds
EN

Stack Overflow用户
提问于 2018-08-02 11:51:25
回答 2查看 14K关注 0票数 30

查看datetime 文档,我似乎无法理解seconds属性与timedelta对象上使用的方法total_seconds()之间的区别。只是精确吗?前者是整数,后者是浮点?还是我漏掉了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-02 11:55:57

seconds是一天内的秒数,单位为0,86399。total_seconds是转换为秒的整个时间增量,可以是任意值,例如一周的604800.0或100毫秒的0.1。

票数 42
EN

Stack Overflow用户

发布于 2020-07-17 13:33:01

您可以从天、秒、微秒、毫秒、分钟、小时和周构建timedelta。请注意这些参数的顺序,这是绝对没有用的,而且可能是历史上造成的。

在内部,timedelta结构仅由天、秒和微秒组成。一旦构建了timedelta,您就可以访问这些属性。即使你用小时、分钟等来构造对象,信息也消失了。

代码语言:javascript
复制
import datetime

t = datetime.timedelta(hours=2, minutes=30)
print(t.seconds)

如果秒数超过86400 (24*60*60),它们就会溢出为一天:

代码语言:javascript
复制
import datetime

t = datetime.timedelta(hours=24, minutes=1)
print(t.seconds)
print(t.days)

因此,timespan.seconds是一个非常无用的属性,因为没有其他两个组件,它只是真理的一部分,没有意义。timespan.daystimespan.microseconds也是如此。它们确实应该是内部的,因此应该遵守信息隐藏的原则。

另一方面,total_seconds()是timespan的有效表示形式。它将所有三个属性合并为一个数字。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51652952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档