如何在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日期和時間教程