引言
時間格式化指的是將時間按照一定格式展示出來。在Python中,有很多方法可以格式化時間,比如使用time模塊和datetime模塊,這些模塊都提供了各種格式化時間的函數。
本文將介紹Python時間格式化的基礎知識,包括時間和日期格式化的常用標識符、時間的格式化方法、時間戳的格式化方法、字符串和時間之間的轉換等。
基礎知識
時間和日期格式化的常用標識符
在Python中,時間和日期格式化的常用標識符如下表所示:
標識符 | 含義 | 示例 |
---|---|---|
%Y | 四位數的年份 | 2021 |
%m | 月份,用0填充至兩位 | 01, 02, …, 12 |
%B | 完整的月份名 | January, February, …, December |
%b | 簡寫的月份名 | Jan, Feb, …, Dec |
%d | 用0填充至兩位的日期 | 01, 02, …, 31 |
%A | 完整的星期幾 | Sunday, Monday, …, Saturday |
%a | 簡寫的星期幾 | Sun, Mon, …, Sat |
%H | 24小時制的小時數,用0填充至兩位 | 00, 01, …, 23 |
%I | 12小時制的小時數,用0填充至兩位 | 01, 02, …, 12 |
%p | 上午或下午 | AM, PM |
%M | 用0填充至兩位的分鐘數 | 00, 01, …, 59 |
%S | 用0填充至兩位的秒數 | 00, 01, …, 59 |
時間的格式化方法
time模塊和datetime模塊都提供了strftime()函數用於時間格式化,該函數的語法如下:
strftime(format[, t])
其中,format是格式化字符串,t是表示時間的可選參數,默認為當前時間。下面是一個示例:
import time # 獲取當前時間 now = time.strftime("%Y-%m-%d %H:%M:%S") print("當前時間為:", now)
執行以上代碼,輸出結果如下:
當前時間為: 2021-08-25 14:26:44
時間戳的格式化方法
在Python中,還可以使用time模塊中的gmtime()、localtime()和strptime()函數以及datetime模塊中的fromtimestamp()函數將時間戳格式化成字符串。下面分別介紹這些函數的使用方法。
1. gmtime()函數
gmtime()函數用於將一個時間戳轉換為struct_time格式的UTC時間。
gmtime([secs])
其中,secs是時間戳,如果不傳入該參數,將返回當前時間戳所對應的UTC時間。
以下是一個示例:
import time # 獲取當前時間戳 timestamp = time.time() # 將時間戳轉換為UTC時間 utc_time = time.gmtime(timestamp) # 格式化輸出utc_time utc_time_str = time.strftime("%Y-%m-%d %H:%M:%S", utc_time) print("utc時間為:", utc_time_str)
執行以上代碼,輸出結果如下:
utc時間為: 2021-08-25 06:26:44
2. localtime()函數
localtime()函數用於將一個時間戳轉換為struct_time格式的本地時間。
localtime([secs])
與gmtime()函數類似,如果不傳入secs參數,將返回當前時間戳所對應的本地時間。
以下是一個示例:
import time # 獲取當前時間戳 timestamp = time.time() # 將時間戳轉換為本地時間 local_time = time.localtime(timestamp) # 格式化輸出local_time local_time_str = time.strftime("%Y-%m-%d %H:%M:%S", local_time) print("本地時間為:", local_time_str)
執行以上代碼,輸出結果如下:
本地時間為: 2021-08-25 14:26:44
3. strptime()函數
strptime()函數用於將一個字符串解析為struct_time格式的時間。函數的語法如下:
strptime(string[, format])
其中,string是要解析的字符串,format是字符串的格式,與strftime()函數的格式相同。下面是一個示例:
import time # 字符串時間 str_time = "2021-08-25 14:26:44" # 將字符串轉換為struct_time格式的時間 time_struct = time.strptime(str_time, "%Y-%m-%d %H:%M:%S") # 輸出time_struct print(time_struct)
執行以上代碼,輸出結果如下:
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=25, tm_hour=14, tm_min=26, tm_sec=44, tm_wday=2, tm_yday=237, tm_isdst=-1)
4. fromtimestamp()函數
fromtimestamp()函數用於將一個時間戳轉換為datetime格式的時間。函數的語法如下:
fromtimestamp(timestamp[, tz])
其中,timestamp是時間戳,tz是時區,默認為None。
以下是一個示例:
import datetime # 獲取當前時間戳 timestamp = datetime.datetime.now().timestamp() # 將時間戳轉換為datetime格式的時間 date_time = datetime.datetime.fromtimestamp(timestamp) # 格式化輸出date_time date_time_str = date_time.strftime("%Y-%m-%d %H:%M:%S") print("datetime時間為:", date_time_str)
執行以上代碼,輸出結果如下:
datetime時間為: 2021-08-25 14:26:44
字符串和時間之間的轉換
在Python中,可以使用time模塊和datetime模塊實現字符串和時間之間的轉換。下面分別介紹這些方法的使用方法。
1. 字符串轉時間
在time模塊中,可以使用strptime()函數將字符串解析為struct_time格式的時間。函數的語法如下:
strptime(string, format)
其中,string是要解析的字符串,format是字符串的格式,與strftime()函數的格式相同。
以下是一個示例:
import time # 字符串時間 str_time = "2021-08-25 14:26:44" # 將字符串轉換為struct_time格式的時間 time_struct = time.strptime(str_time, "%Y-%m-%d %H:%M:%S") # 輸出time_struct print(time_struct)
執行以上代碼,輸出結果如下:
time.struct_time(tm_year=2021, tm_mon=8, tm_mday=25, tm_hour=14, tm_min=26, tm_sec=44, tm_wday=2, tm_yday=237, tm_isdst=-1)
在datetime模塊中,可以使用strptime()函數將字符串解析為datetime格式的時間。函數的語法如下:
datetime.datetime.strptime(date_string, format)
其中,date_string是要解析的字符串,format是字符串的格式,與strftime()函數的格式相同。
以下是一個示例:
import datetime # 字符串時間 str_time = "2021-08-25 14:26:44" # 將字符串轉換為datetime格式的時間 date_time = datetime.datetime.strptime(str_time, "%Y-%m-%d %H:%M:%S") # 輸出date_time print(date_time)
執行以上代碼,輸出結果如下:
2021-08-25 14:26:44
2. 時間轉字符串
在time模塊中,可以使用strftime()函數將struct_time格式的時間轉換為字符串。函數的語法如下:
strftime(format[, t])
其中,format是格式化字符串,t是表示時間的可選參數,默認為當前時間。
以下是一個示例:
import time # 獲取當前時間 now = time.localtime() # 將時間轉換為字符串 str_time = time.strftime("%Y-%m-%d %H:%M:%S", now) # 輸出str_time print(str_time)
執行以上代碼,輸出結果如下:
2021-08-25 14:26:44
在datetime模塊中,可以使用strftime()函數將datetime格式的時間轉換為字符串。函數的語法如下:
strftime(format)
其中,format是格式化字符串。
以下是一個示例:
import datetime # 獲取當前時間 now = datetime.datetime.now() # 將時間轉換為字符串 str_time = now.strftime("%Y-%m-%d %H:%M:%S") # 輸出str_time print(str_time)
執行以上代碼,輸出結果如下:
2021-08-25 14:26:44
結語
本文介紹了Python中時間格式化的基礎知識,包括時間和日期格式化的常用標識符、時間的格式化方法、時間戳的格式化方法、字符串和時間之間的轉換等。
小標題:
1. 時間和日期格式化的常用標識符
2. 時間的格式化方法
3. 時間戳的格式化方法
4. 字符串和時間之間的轉換
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/236469.html