一、時間格式化的基礎
在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-hk/n/156625.html