在Python 中將日期時間物件轉換為秒
在Python 中使用日期時間物件時,通常需要將它們轉換為秒以適應各種情況分析目的。但是,toordinal() 方法可能無法提供所需的輸出,因為它僅區分具有不同日期的日期。
要準確地將日期時間物件轉換為秒,特別是對於 1970 年 1 月 1 日的特定日期,有多種選擇。對於所有其他開始日期,您需要計算兩個日期之間的時差。
對於1970 年1 月1 日:
datetime.datetime.timestamp(): 此方法直接回傳自Unix 紀元以來的秒數,對應1970 年1 月1 日00:00:00 UTC。
t = datetime.datetime(1970, 1, 1)
seconds = t.timestamp()
time.mktime(): time.mktime() 函數也可用來將日期時間物件轉換為秒,因為Unix紀元。
import time
t = datetime.datetime(1970, 1, 1)
time_struct = t.timetuple()
seconds = time.mktime(time_struct)
對於任何其他開始日期:
timedelta.total_seconds (): 兩個datetime 物件相減得到一個timedelta 物件。 timedelta 的total_seconds() 方法提供兩個日期之間的秒數。
t = datetime.datetime(2009, 10, 21, 0, 0)
starting_date = datetime.datetime(1970, 1, 1)
seconds = (t - starting_date).total_seconds()
需要注意的是,為了獲得準確的結果,開始日期應以 UTC(協調世界時)指定。如果您的日期時間不是 UTC,您需要將其轉換或附加具有適當偏移量的 tzinfo 類別。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3