Python時間格式化:strptime的用法

一、時間格式化的基礎

在Python中,處理時間的常用庫是datetime。datetime庫中除了包含日期和時間的基本類型,還提供了一些常用的函數和方法,如strptime和strftime等。strptime函數是Python中用來將字元串轉換成時間格式的函數,其用法如下:

datetime.datetime.strptime(date_string, format)

其中,date_string是待轉換的字元串,format是date_string的時間格式。datetime.strptime函數會把date_string解析成datetime對象。例如:

import datetime

date_string = '2020-11-11 11:11:11'
date_format = '%Y-%m-%d %H:%M:%S'
date_obj = datetime.datetime.strptime(date_string, date_format)

print(date_obj)

輸出結果為:

2020-11-11 11:11:11

上面的代碼中,我們傳入了待轉換的字元串date_string和其時間格式date_format,然後調用datetime.datetime.strptime方法解析出datetime類型的日期時間對象date_obj。

二、時間格式化中的常用格式符

在上面的例子中,我們傳入的時間格式字元串的格式與待轉換的字元串完全一致。但實際應用中,由於原始數據的差異或者實際需要的時間格式的不同,往往需要進行格式化。下面是一些常用的日期時間格式符:

  • %Y:年份,四位數字
  • %m:月份,帶前導零
  • %d:日期,帶前導零
  • %H:小時(24小時制),帶前導零
  • %M:分鐘,帶前導零
  • %S:秒數,帶前導零

還可以使用其他字元表示時間的不同部分,以%m為例:

  • %-m:不帶前導零的月份(即1~12)
  • %^m:大寫字母形式的月份縮寫
  • %#m:字元形式的月份,可能帶有前導零或後導空格

下面是一個使用常用格式符的例子:

import datetime

date_string = '2021-10-01'
date_format = '%Y/%m/%d'
date_obj = datetime.datetime.strptime(date_string, date_format)

print(date_obj)

輸出結果為:

2021-10-01 00:00:00

三、自定義時間格式化符

雖然Python提供了很多常用的日期時間格式符,但在某些特殊情況下,可能需要使用自定義的格式化符。下面看一個例子:

import datetime

date_string = '20211231'
date_format = '%Y%m%d'
date_obj = datetime.datetime.strptime(date_string, date_format)

print(date_obj)

輸出結果為:

2021-12-31 00:00:00

在上面的例子中,date_string是一個連續的數字字元串,通過運用自定義格式化符,我們成功將其轉換成了datetime對象。

四、strptime函數中的映射表

在strptime函數中,時間格式化符對應的映射表如下:

  • %a:周幾的英文縮寫
  • %A:周幾的英文全稱
  • %b:月份的英文縮寫
  • %B:月份的英文全稱
  • %c:日期時間的字元串表示,如’Wed Oct 27 14:21:20 2021′
  • %d:一月中的第幾天,帶前導零,例如’01’
  • %f:微秒數,範圍從0到999999
  • %H:24小時制下的小時數,帶前導零,例如’01’~’23’
  • %I:12小時制下的小時數,帶前導零,例如’01’~’12’
  • %j:一年中的第幾天,不帶前導零,例如’1’~’366′
  • %m:月份,帶前導零,例如’01’~’12’
  • %M:分鐘數,帶前導零,例如’00’~’59’
  • %p:AM或PM
  • %S:秒數,帶前導零,例如’00’~’59’
  • %U:一年中的第幾周,以周日為一周的第一天,從第一個周日開始算,不足兩位前面補0,例如’01’~’53’
  • %w:一周中的第幾天,從周日開始算,0表示周日,6表示周六
  • %W:一年中的第幾周,以周一為一周的第一天,從第一個周一開始算,不足兩位前面補0,例如’01’~’53’
  • %x:日期的字元串表示,如’10/27/21′
  • %X:時間的字元串表示,如’14:21:20′
  • %y:兩位數的年份表示(00-99)
  • %Y:四位數的年份表示(如2021)
  • %z:以+HHMM或-HHMM表示的UTC時區偏移量,例如+0800表示東八區
  • %Z:時區名稱,如CST、CDT、GMT等
  • %%:表示字元「%」

五、結語

strptime函數是Python中對字元串進行格式化時間轉換的利器,理解並熟練掌握其用法,可以極大地方便我們對時間的處理。本文從時間格式化的基礎、常用格式符、自定義格式化符以及映射表4個方面對strptime函數的用法進行了詳細闡述,相信讀者已對其有了更深入的了解。

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

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

相關推薦

  • Python列表中負數的個數

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

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

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

    編程 2025-04-29
  • 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編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

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

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

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

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

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

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

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

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

    編程 2025-04-29

發表回復

登錄後才能評論