[英]How to format the “datetime.timedelta” type
我正在像這樣計算兩個時間值之間的差:
current_time = '2019-08-22T17:58:28'
alert_time = '2019-08-22T16:58:28'
diff = datetime.datetime.strptime(current_time, datetimeFormat) - datetime.datetime.strptime(alert_time, datetimeFormat)
diff
datetime.timedelta(0, 3600)
print(diff)
1:00:00
因此,這按預期工作,但是我需要將diff
變量添加到字典中,並且我只需要添加數值差,例如3600
那么如何將diff
格式化為3600
?
我知道我可以做str(diff)
返回1:00:00
但我希望該值以秒為單位
做這個:
import datetime
current_time = '2019-08-22T17:58:28'
alert_time = '2019-08-22T16:58:28'
datetimeFormat = '%Y-%m-%dT%H:%M:%S'
diff = datetime.datetime.strptime(current_time, datetimeFormat) - datetime.datetime.strptime(
alert_time, datetimeFormat
)
d = diff.total_seconds()
print(d)
輸出:
3600.0
看到@felixkagota的答案之后。 我做了一個快速的谷歌來找出timedelta.seconds
和timedelta.to_seconds()
之間的區別。 基本上, timedelta.seconds
返回整數,即:它不占幾分之一秒。 例如:
import datetime
current_time = '2019-08-22T17:58:28:000000'
alert_time = '2019-08-22T16:58:28:123456'
datetimeFormat = '%Y-%m-%dT%H:%M:%S:%f'
diff = datetime.datetime.strptime(current_time, datetimeFormat) - datetime.datetime.strptime(
alert_time, datetimeFormat
)
print(diff.total_seconds())
print(diff.seconds)
給出:
3599.876544
3599
只是做diff.seconds。 Timedelta類包含一個seconds屬性,該屬性返回以秒為單位的timedelta值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.