当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python datetime.timedelta用法及代码示例


用法:

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

所有参数都是可选的,默认为 0 。参数可以是整数或浮点数,可以是正数或负数。

只有days , secondsmicroseconds 存储在内部。参数被转换为这些单位:

  • 一毫秒转换为 1000 微秒。
  • 一分钟转换为 60 秒。
  • 一小时转换为 3600 秒。
  • 一周转换为 7 天。

然后对天、秒和微秒进行归一化,以便表示是唯一的,其中

  • 0 <= microseconds < 1000000
  • 0 <= seconds < 3600*24(一天的秒数)
  • -999999999 <= days <= 999999999

以下示例说明了除 days , secondsmicroseconds 之外的任何参数如何为 “merged” 并规范化为这三个结果属性:

>>> from datetime import timedelta
>>> delta = timedelta(
...     days=50,
...     seconds=27,
...     microseconds=10,
...     milliseconds=29000,
...     minutes=5,
...     hours=8,
...     weeks=2
... )
>>> # Only days, seconds, and microseconds remain
>>> delta
datetime.timedelta(days=64, seconds=29156, microseconds=10)

如果任何参数是浮点数并且有小数微秒,则将所有参数剩余的小数微秒组合起来,并使用舍入到偶数的决胜局将它们的总和四舍五入到最接近的微秒。如果没有参数是浮点数,则转换和规范化过程是精确的(没有信息丢失)。

如果天数的标准化值超出指定范围,则会引发 OverflowError

请注意,负值的标准化起初可能令人惊讶。例如:

>>> from datetime import timedelta
>>> d = timedelta(microseconds=-1)
>>> (d.days, d.seconds, d.microseconds)
(-1, 86399, 999999)

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 datetime.timedelta。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。