[英]How to get the number of seconds between two dates with arrow?
我使用arrow
來處理日期,發現不知道如何自然地獲得兩個日期之間的秒數:
>>> import arrow
>>> first = arrow.get('2019-03-06')
>>> second = arrow.get('2019-02-06')
>>> (first-second).days
28
>>> (first-second).seconds
0
從上面的示例中,看起來.days
給出了預期的輸出,但是.seconds
給出了“處於秒級”的秒數,即僅查看秒數時。 這意味着最大數量為60
。
但是,這是不正確的:
>>> (arrow.now()-first).seconds
70223
70000秒大約是19個小時,這是從最后一個午夜(今天開始)到現在(大約20:30)之間的正確小時數。
因此,我迷失了.seconds
實際提供的功能。
seconds屬性僅反映第一天和第二天之間的差異(如果它們在一天之內)。 如果天數超過1天,則days屬性將增加1,seconds屬性將重置為零。 如果要獲取它們之間的總秒數,請調用timedelta的total_seconds()方法。 差異見下文
import arrow
first = arrow.get('2019-03-06 02:00:00')
second = arrow.get('2019-03-05 01:00:00')
d0 = first - second
d1 = d0.days
d2 = d0.seconds
d3 = d0.total_seconds()
print('total days: {}'.format(d1))
print('seconds within day: {}'.format(d2))
print('total seconds: {}'.format(d3))
# total days: 1
# seconds within day: 3600
# total seconds: 90000.0
.seconds
是一天中的秒數
.total_seconds()
是將整個timedelta轉換為秒
例如:
first = arrow.get('2019-03-06 02:00:00')
second = arrow.get('2019-03-05 01:00:00')
(first - second).seconds
> 3600
(first - second).total_seconds()
> 90000.0
因此,相差不到一天,
.seconds & .total_seconds()
相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.