當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。