![](/img/trans.png)
[英]Pandas - convert int to datetime.time and datetime.datetime
[英]Convert datetime.time in datetime.datetime
我想計算兩個日期之間的秒數差異。
def delta_seconds(datetime, origin):
td = datetime - origin # datetime - date
return float((td.microseconds + (td.seconds + td.days * 24 * 3600) * 10 ** 6)) / 10 ** 6
我無法計算差異,它向我顯示了這個錯誤:
TypeError: unsupported operand type(s) for -: 'datetime.time' and 'datetime.datetime
所以,我想將 datetime.time 轉換為 datetime.datetime。
(datetime 是 datetime.time obj,origin 是 datetime.datetime obj)
有什么建議嗎?
兩個不同datetime
時間的減法已經返回一個增量。 時間增量
參數origin
和datetime
時間必須是datetime
時間 object。 要么將兩個參數設為datetime
時間 object,要么將日期時間的datetime.time
設為當前日期時間object。
要將您的time
轉換為datetime
, 這可能會有所幫助,或者您可以手動調整字段。
import datetime
t = datetime.time(1, 2, 3)
print('t :', t)
d = datetime.date.today()
print('d :', d)
dt = datetime.datetime.combine(d, t)
print('dt:', dt)
t : 01:02:03
d : 2013-02-21
dt: 2013-02-21 01:02:03
datetime.datetime
對象之間的差異為您提供了datetime.timedelta
,它已經具有 class 屬性,您可以從 function 返回seconds
。datetime.combine
來組合datetime.date
和datetime.time
。演示:
from datetime import datetime, date, time
def delta_seconds(end, origin):
return (end - origin).seconds
# Test
date = date(2021, 5, 3)
time = time(10, 20, 30)
origin = datetime.combine(date, time)
end = datetime.now()
print(delta_seconds(end, origin))
Output:
33213
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.