如何在Python中將時間戳字串轉換為datetime物件?


在本文中,我們將向您展示如何在Python中將時間戳字串轉換為DateTime物件。以下是完成此任務的各種方法:

  • 使用datetime.fromtimestamp()函式

  • 使用datetime.fromtimestamp() & strftime

  • 使用datetime.strptime()

  • 將時間戳轉換為具有混合文字的格式程式碼的日期時間物件

使用datetime.fromtimestamp()函式

要從UNIX時間戳獲取日期,請使用datetime模組的fromtimestamp()函式。此函式接受時間戳作為輸入,並返回與該時間戳對應的datetime物件。

語法

fromtimestamp(timestamp, tz=None)

演算法(步驟)

以下是執行所需任務的演算法/步驟

  • 使用import關鍵字從datetime模組匯入datetime

  • 建立一個變數來儲存輸入時間戳字串

  • 使用datetime.fromtimestamp()函式將輸入時間戳轉換為datetime物件。

  • 列印結果datetime物件。

  • 使用type()函式(返回物件的資料型別)來列印結果datetime物件的型別。

示例

以下程式使用datetime.fromtimestamp()函式將時間戳轉換為datetime物件:

# importing datetime from datetime module from datetime import datetime # input timestamp timestamp_string = 1345612072 # Converting timestamp to DateTime object datetime_object = datetime.fromtimestamp(timestamp_string) # printing resultant datetime object print("Resultant datetime object:",datetime_object) # printing the type of resultant datetime object print("Type of datetime object:",type(datetime_object))

輸出

執行上述程式後,將生成以下輸出:

Resultant datetime object: 2012-08-22 05:07:52
Type of datetime object: 

使用datetime.fromtimestamp() & strftime

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 使用datetime.fromtimestamp()函式將時間戳字串轉換為datetime物件,並使用strftime()方法(根據格式程式碼返回表示datetime物件的字串)對其進行格式化。

strftime(format)
  • 列印結果DateTime物件。

示例

以下程式使用datetime.fromtimestamp()函式將時間戳轉換為datetime物件,並使用strftime對其進行格式化:

# importing datetime from datetime module from datetime import datetime # input timestamp timestamp_string = 1345612072 # Converting timestamp string to datetime object and formatting it datetime_object = datetime.fromtimestamp(timestamp_string).strftime('%d-%m-%y') # printing resultant datetime object print("Resultant datetime object:",datetime_object) # printing the type of resultant datetime object print("Type of datetime object:", type(datetime_object))

輸出

執行上述程式後,將生成以下輸出:

Resultant datetime object: 22-08-12
Type of datetime object: <class 'str'>

strftime函式()

strftime()函式返回格式化的日期和時間。它接受一個格式字串,您可以使用它來獲得所需的結果。以下是它支援的指令。

指令 含義
%a 本地簡寫星期名稱
%A 本地完整星期名稱
%b 本地簡寫月份名稱。
%B 本地完整月份名稱。
%c 本地合適的日期和時間表示。
%d 月份中的日期,以十進位制數字表示 [01,31]。
%H 小時(24小時制),以十進位制數字表示 [00,23]。
%I 小時(12小時制),以十進位制數字表示 [01,12]。
%m 月份,以十進位制數字表示 [01,12]。
%M 分鐘,以十進位制數字表示 [00,59]。
%p 本地等效於AM或PM。
%S 秒,以十進位制數字表示 [00,61]。
%U 一年中的星期數(星期日為一週的第一天),以十進位制數字表示 [00,53]。新年之前的所有日子都被認為是在第0周。
%w 星期幾,以十進位制數字表示 [0(星期日),6]。
%W 一年中的星期數(星期一為一週的第一天),以十進位制數字表示 [00,53]。新年之前的所有日子都被認為是在第0周。
%x 本地合適的日期表示。
%X 本地合適的時間表示。
%y 不帶世紀的年份,以十進位制數字表示 [00,99]。
%Y 帶世紀的年份,以十進位制數字表示。
%Z 時區名稱(如果不存在時區,則無字元)。
%% 文字 "%" 字元。

使用datetime.strptime()

演算法(步驟)

以下是執行所需任務的演算法/步驟:

  • 建立一個變數來儲存格式。

  • 使用datetime.strptime()函式(將字串格式的時間戳格式化為日期時間物件)透過將輸入時間戳和格式作為引數傳遞給它來將時間戳轉換為datetime物件。

  • 列印結果datetime物件。

示例

以下程式使用datetime.strptime()函式將時間戳轉換為datetime物件並對其進行格式化:

# importing datetime from datetime module from datetime import datetime # input timestamp string timestamp_string = '2013-06-09T11::12::40.356237' # input format format = '%Y-%m-%dT%H::%M::%S.%f' # converting the timestamp string to datetime object datetime_object = datetime.strptime(timestamp_string, format) # printing the resultant datetime object print(datetime_object) # printing the type of resultant datetime object print(type(datetime_object))

輸出

執行上述程式後,將生成以下輸出:

2013-06-09 11:12:40.356237
<class 'datetime.datetime'>

將時間戳轉換為具有混合文字的格式程式碼的日期時間物件

示例

以下程式將輸入混合文字字串中的時間戳轉換為日期時間物件,並使用datetime.strptime()函式對其進行格式化:

# importing datetime from datetime module from datetime import datetime # input text string textString = "I was born on March 14th 2020 at 4 PM" # Converting timestamp in the input mixed text string to # datetime object and formatting it datetime_object = datetime.strptime(textString, 'I was born on %B %dth %Y at %I %p') # printing resultant datetime object print("Resultant datetime object:",datetime_object) # printing the type of resultant datetime object print("Type of datetime object:", type(datetime_object))

輸出

執行上述程式後,將生成以下輸出:

Resultant datetime object: 2020-03-14 16:00:00
Type of datetime object: <class 'datetime.datetime'>

結論

在本文中,我們學習了幾種在Python中將給定的時間戳轉換為DateTime物件的方法。我們還學習瞭如何將包含混合文字的時間戳轉換為DateTime物件。

相關教程:Python教程Python日期和時間教程

更新於:2023年8月27日

22K+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告