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


Python DateTime轉UNIX Timestamp用法及代碼示例


Unix 時間戳是一個單符號整數,每秒增長 1,允許計算機存儲和操作傳統的日期係統。然後該軟件被翻譯成人類可讀的格式。 Unix 時間戳是自 1970 年 1 月 1 日以來計算的秒數。在本文中,我們將了解如何將 DateTime 轉換為 Unix 時間戳。

DateTime 轉 Unix 時間戳

為了將 Python DateTime 轉換為 Unix 時間戳,我們在本例中導入了一個名為 datetime and time 的模塊,並且變量 date_time 已被聲明並分配了 datetime。時間/日期(2021 年、7 月、26 日、21 日、20 日)。年為 2021 年,月為 7,日為 26,小時為 21,分鍾為 20。

代碼:

Python3


# importing datetime module
import datetime
import time
# assigned regular string date
date_time = datetime.datetime(2021, 7, 26, 21, 20)
# print regular python date&time
print("date_time =>",date_time)
# displaying unix timestamp after conversion
print("unix_timestamp => ",
      (time.mktime(date_time.timetuple())))

輸出:

date_time => 2021-07-26 21:20:00
unix_timestamp =>  1627314600.0

解釋:

日期和時間操作類由 datetime 模塊提供。當地時間的反函數是mktime()。它接受一個 struct time 或一個完整的 9 元組作為參數,並返回一個浮點數以與 time() 兼容。它還用於將日期時間轉換為 Unix 時間戳。

datetime.date對象的timetuple()方法返回一個時間object.struct時間。 struct time 對象是一個命名元組,可以使用索引或按名稱檢索。 timetuple() 函數返回的命名元組的年、月和日字段將根據日期對象進行設置,而小時、分鍾和秒字段將設置為零。

DateTime 轉 13 位 Unix 時間戳

要獲取當前時間,請使用 datetime.now()。 datetime 類的 timetuple() 函數以命名元組的形式返回 datetime 的屬性。 13 位時間戳必須乘以 1000。

代碼:

Python3


import time
import datetime
presentDate = datetime.datetime.now()
unix_timestamp = datetime.datetime.timestamp(presentDate)*1000
print(unix_timestamp)

輸出:

1628497724509.293

DateTime 轉換為 UTC 時區的 Unix 時間戳

日曆模塊提供有用的calendar-related函數。 utc.now 函數返回 UTC 時區的當前時間。在 time 模塊中,timegm 函數返回一個 Unix 時間戳。 datetime 類的 timetuple() 函數以命名元組的形式返回 datetime 的屬性。要獲取 Unix 時間戳,請使用 print(UTC)。

代碼:

Python3


import calendar
import datetime
date = datetime.datetime.utcnow()
utc_time = calendar.timegm(date.utctimetuple())
print(utc_time)

輸出:

1628497783

DateTime 到 Unix 時間戳毫秒

datetime.now()函數用於獲取當前時間。 mktime方法是一種時間方法,是本地時間的反函數;它用於將日期時間轉換為 Unix 時間戳毫秒。 datetime 類的 timetuple() 函數以命名元組的形式返回 datetime 的屬性。要獲得以毫秒為單位的時間,請將其乘以 1000。

代碼:

Python3


import datetime
import time
ms = datetime.datetime.now()
print(time.mktime(ms.timetuple()) * 1000)

輸出:

1628497823000.0

Datetime.date 轉 Unix 時間戳

time.date() 是一個隻接受日期的函數。在本例中,2021 是年份,8 是月份,6 是日期。 mktime()是一種時間方法,是當地時間的反函數;它用於將日期轉換為 Unix 時間戳。

代碼:

Python3


import datetime
import time
my_datetime = datetime.date(2021, 8, 6)
print("Unix_Time: ",
      (time.mktime(my_datetime.timetuple())))

輸出:

Unix_Time:  1628188200.0

DateTime 字符串轉 Unix 時間戳

在本例中,日期和時間以字符串格式提供。其中,8 表示月份,6 表示日期,2021 表示年份,05 表示小時,54 表示分鍾,8 表示秒。 strptime() 是一個日期時間模塊方法,用於將字符串轉換為日期時間和時間對象。 timestamp() 函數返回當前位置的當前時間。

代碼:

Python3


import datetime
date_example = "8/6/2021, 05:54:8"
date_format = datetime.datetime.strptime(date_example,
                                         "%m/%d/%Y, %H:%M:%S")
unix_time = datetime.datetime.timestamp(date_format)
print(unix_time)

輸出:

1628209448.0

Unix 時間戳到 Python DateTime

Python中的DateTime模塊用於處理Python中與日期和時間相關的問題。 fromtimestamp() 方法是該模塊中包含的函數之一。日期類的函數fromtimestamp()計算並返回與指定時間戳對應的日期。允許的時間戳範圍從 1970 延伸到 2038。如果時間戳中有任何閏秒,fromtimestamp() 函數將忽略它們。

首先,我們從 datetime 模塊導入 datetime 類。然後,UNIX 值對象存儲在變量中。然後我們使用 datetime.fromtimestamp() 方法來檢索時間和日期。

strftime() 函數是日期時間模塊中的另一個函數。此函數有助於以特定格式返回DateTime。該函數用於將日期和時間對象轉換為字符串表示形式。上述代碼中的格式代碼為%d、%m、%Y、%H、%M、%S,分別表示日、月、年、時、分、秒。

代碼:

Python3


# importing datetime module
import datetime 
# assigned unix time
unix_time = 1627334400
date_time = datetime.datetime.fromtimestamp(unix_time)
# print unix time stamp
print("Unix_Time =>",unix_time)
# displaying date and time in a regular 
# string format
print("Date & Time =>" ,
      date_time.strftime('%Y-%m-%d %H:%M:%S'))

輸出:

Unix_Time => 1627334400
Date & Time => 2021-07-27 02:50:00


相關用法


注:本文由純淨天空篩選整理自priyavermaa1198大神的英文原創作品 How to Convert DateTime to UNIX Timestamp in Python ?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。