Python 紀元到Datetime

在接下來的教程中,我們將通過一些例子來理解 Python 編程語言中曆元到日期時間的轉換。我們將使用 Python epoch 分別將 epoch 轉換為日期和時間。我們還將涵蓋以下主題:

  1. 將日期時間轉換為紀元時間
  2. 將紀元轉換為日期時間字符串
  3. 將紀元轉換為日期時間毫秒
  4. 將紀元轉換為日期時間時區
  5. 將 Unix 紀元轉換為日期時間
  6. 將日期時間轉換為以毫秒為單位的紀元時間
  7. 將紀元時間戳轉換為日期時間
  8. Python 紀元日期時間年份超出範圍

但是在開始之前,讓我們簡單了解一下 Python 中的紀元時間。

Python 中的紀元時間是什麼?

紀元時間,也稱為 POSIX 時間、Unix 時間和 Unix 時間戳,表示自 1970 年 1 月 1 日以來經過的秒數,不包括閏秒。Unix 時間包含十位數字,可以同時代表所有時區。

使用 Python 將紀元時間轉換為日期時間

我們可以使用 Pythondatetime . frontimestamp()函數將曆元時間轉換為 DateTime。讓我們考慮以下示例,演示 Python 紀元到日期時間的轉換。

示例:


# importing the datetime package
import datetime

# given epoch time
epoch_time = 40246871

# using the datetime.fromtimestamp() function
date_time = datetime.datetime.fromtimestamp( epoch_time )

# printing the value
print("Given epoch time:", epoch_time)
print("Converted Datetime:", date_time )

輸出:

Given epoch time: 40246871
Converted Datetime: 1971-04-12 01:11:11

說明:

在上面的例子中,我們已經導入了日期時間庫。然後我們定義了一個變量,以秒為單位存儲紀元時間的值。然後,我們使用了DateTime . frontimestamp()函數,以便將紀元時間轉換為 DateTime 然後為用戶打印輸出。因此,提供的變量被成功轉換為日期時間。

使用 Python 將日期時間轉換為紀元時間

為了將日期時間轉換為曆元時間,我們將使用時間戳()函數。首先,讓我們考慮以下示例,該示例說明了日期時間到紀元時間的轉換。

示例:


# importing the datetime package
import datetime

# using the timestamp() function to convert datetime into epoch time
epoch_time = datetime.datetime(2021, 6, 9, 2, 0).timestamp()

# printing the values
print("Converted epoch time:", epoch_time)

輸出:

Converted epoch time: 1623184200.0

說明:

在上例中,我們再次導入了 datetime 包。然後,我們定義了一個存儲紀元時間值的變量,該值是使用給定日期時間的時間戳()函數計算的,並為用戶打印了計算值。因此,給定的日期時間已成功轉換為紀元時間。

使用 Python 將紀元時間轉換為日期時間字符串

為了將曆元時間轉換為 datetime 字符串,我們需要將曆元時間轉換為 datetime,然後將結果 datetime 變量傳遞給 strftime() 函數,將其成功轉換為 datetime 字符串。

示例:


# importing the datetime package
import datetime

# given epoch time
epoch_time = 700024

# using datetime.fromtimestamp() function to convert epoch time into datetime object
mytimestamp = datetime.datetime.fromtimestamp( epoch_time )

# using strftime() function to convert
datetime_str = mytimestamp.strftime( "%Y - %m - %d  %H : %M : %S")

# printing the values
print("Given epoch time:", epoch_time)
print("Converted datetime string:", datetime_str)

輸出:

Given epoch time: 700024
Converted datetime string: 1970 - 01 - 09  07 : 57 : 04

說明:

在上面的例子中,我們再次導入了 datetime 庫。然後,我們使用datetime . frontimestamp()函數將給定的紀元時間轉換為 datetime,然後將其傳遞給 strftime() 函數,將 datetime 對象轉換為 datetime 字符串。str time()函數參數是我們想要自定義字符串的格式代碼。

  1. %Y 表示年份
  2. %m 表示月份
  3. %d 指定日期
  4. %H 表示一個小時
  5. %M 表示分鐘
  6. %S 表示秒

使用 Python 將紀元時間轉換為日期時間毫秒

我們可以使用將紀元時間轉換為日期時間的方法,從紀元時間獲得日期時間和毫秒。讓我們考慮下面的例子來證明這一點。

示例:


# importing the datetime package
import datetime

# given epoch time
epoch_time = 402471.238201

# using the datetime.fromtimestamp() function
date_time = datetime.datetime.fromtimestamp( epoch_time )

# printing the value
print("Given epoch time:", epoch_time)
print("Converted Datetime:", date_time )

輸出:

Given epoch time: 402471.238201
Converted Datetime: 1970-01-05 21:17:51.238201

說明:

在上面的例子中,我們已經導入了日期時間包,並定義了一個變量來存儲以小數表示的紀元時間值。然後,我們使用datetime . frontimestamp()函數將這個十進制值轉換為 datetime 毫秒格式。

使用 Python 將紀元時間轉換為日期時間時區

我們可以使用 pytz 包的時區()功能,將紀元時間轉換為日期時間時區。讓我們考慮下面的例子,演示相同的轉換。

示例:


# importing the required package(s) and module(s)
from datetime import datetime
import pytz

# using the timezone() function
my_timezone = pytz.timezone('CST6CDT')

# using the localize() function
date_timezone = my_timezone.localize( datetime( 2021, 6, 10, 9, 34, 32 ), is_dst = None )

# printing the values
print( "DateTime Time zone:", date_timezone )

輸出:

DateTime Time zone: 2021-06-10 09:34:32-05:00

說明:

在上面的例子中,除了 pytz 庫之外,我們還從 datetime 包中導入了 datetime 模塊。然後,我們使用了 pytz 庫的時區()功能,將參數指定為“CSt6CDT”。此函數返回指定時區的當前日期。然後我們使用 localize() 函數來定位結果。

使用 Python 將 Unix 紀元時間轉換為日期時間

這個將 Unix 紀元時間轉換為 DateTime 的過程類似於我們之前所做的。這個過程涉及到datetime . frontime stamp()函數將 Unix 紀元時間轉換為 DateTime 對象,並使用 strftime() 函數將該對象轉換為合適的 DateTime 格式。

讓我們考慮下面的例子來證明這一點。

示例:


# importing the datetime library
import datetime

# given epoch time
epoch_time = 252384207

# using the datetime.fromtimestamp() function
datetime_obj = datetime.datetime.fromtimestamp( epoch_time )

# using the strftime() function
datetime_str = datetime_obj.strftime( "%Y - %m - %d  %H : %M : %S" )

# printing the values
print( "Unix epoch time:", epoch_time )
print( "DateTime:", datetime_str )

輸出:

Unix epoch time: 252384207
DateTime: 1977 - 12 - 31  08 : 13 : 27

說明:

在上面的例子中,我們再次導入了 datetime 庫,並定義了一個包含 Unix 紀元時間值的變量。然後,我們使用datetime . frontimestamp()函數將 Unix 紀元時間轉換為 DateTime 對象。然後,我們使用 strftime() 函數將對象轉換為合適的格式字符串,並為用戶打印出來。

使用 Python 將日期時間轉換為以毫秒為單位的紀元時間

為了將紀元日期時間轉換為毫秒,我們可以使用 strptime() 函數從指定的字符串返回日期時間對象,並使用 timestamp() 函數將對象轉換為秒。此外,我們需要將結果值乘以一千,以產生以毫秒為單位的紀元日期時間。

讓我們考慮一個例子來證明這一點。

示例:


# importing the datetime module
from datetime import datetime

# using the strptime() function
dt_obj = datetime.strptime( '10-6-2021 10:33:35,72', '%d-%m-%Y %H:%M:%S,%f')
epoch_msec = dt_obj.timestamp() * 1000

print("epoch time in milliseconds:", epoch_msec)

輸出:

epoch time in milliseconds: 1623301415720.0

說明:

在上例中,我們從日期時間庫中導入了日期時間模塊。然後,我們使用 strptime() 函數將日期時間字符串轉換為日期時間對象。然後,我們使用時間戳()函數將對象轉換為紀元時間格式。最後,我們還將曆元時間乘以一千,以便將其轉換為毫秒。

使用 Python 將紀元時間戳轉換為日期時間

我們可以使用datetime . frontimestamp()函數將曆元時間戳轉換為 DateTime。下面是一個例子:

示例:


# importing the datetime module
import datetime

# given epoch timestamp
epoch_time = 33456871

# using the datetime.fromtimestamp() function
the_datetime = datetime.datetime.fromtimestamp( epoch_time )

# printing the values
print( "epoch timestamp:", epoch_time )
print( "DateTime:", the_datetime )

輸出:

epoch timestamp: 33456871
DateTime: 1971-01-23 11:04:31

說明:

在上面的例子中,我們已經導入了日期時間庫,並定義了一個存儲紀元時間戳值的變量。然後,我們使用datetime . frontimestamp()函數將紀元時間戳轉換為 datetime,並為用戶打印出來。

理解 Python 中與紀元日期時間相關的錯誤

在 Python 編程語言中使用紀元日期時間時,我們可能會遇到一個錯誤,說 Python 紀元日期時間年份超出範圍或 Python 無效參數。

讓我們考慮一個例子來理解這個問題。

示例:


# importing the datetime module
import datetime

# using the timestamp() function
epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp()

# printing the values
print( epoch_time )

輸出:

Traceback (most recent call last):
  File "D:\Python\epochpython.py", line 5, in epoch_time = datetime.datetime(1960, 6, 10, 0, 0).timestamp()
OSError: [Errno 22] Invalid argument 

說明:

在上面的例子中,我們提供了日期時間,年份 1960 ,在年份 1970 之前,不在時間戳範圍內。因此,程序將返回一個錯誤作為無效參數。

我們可以通過將 1950 的日期替換為 1970 之後的任何日期來修復這個無效參數錯誤。


原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235941.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:57
下一篇 2024-12-12 11:57

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29

發表回復

登錄後才能評論