Python中的時間處理非常方便,asctime是標準庫中用於生成時間字元串的函數之一。在Python中,asctime返回的時間字元串為固定格式,而將asctime轉換為日期時間字元串也是很常見的操作,下面將從多個方面介紹從asctime到日期時間字元串的轉換方法。
一、將asctime轉換為時間戳
如果將asctime轉換為日期時間字元串,首先需要將asctime轉換為時間戳。時間戳是指自1970年1月1日以來的秒數。Python中的time模塊提供了將asctime轉換為時間戳的函數mktime。
import time asctime = "Fri May 14 05:24:59 2021" t = time.mktime(time.strptime(asctime, "%a %b %d %H:%M:%S %Y")) print(t) # 輸出結果為 1620951899.0
二、將時間戳轉換為日期時間字元串
將asctime轉換成時間戳後,可以使用time模塊中的gmtime或localtime函數將時間戳轉換為本地時間或世界時(GMT)的struct_time結構體,然後再使用strftime函數將struct_time結構體中的時間元組轉換為指定格式的日期時間字元串。
import time asctime = "Fri May 14 05:24:59 2021" t = int(time.mktime(time.strptime(asctime, "%a %b %d %H:%M:%S %Y"))) # 轉成本地時間的字元串 local_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(t)) print(local_time_str) # 輸出結果為 2021-05-14 05:24:59 # 轉成世界時的字元串 gmt_time_str = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime(t)) print(gmt_time_str) # 輸出結果為 2021-05-14 09:24:59
三、使用datetime模塊
datetime模塊是Python標準庫中的另一個時間處理模塊,通過datetime模塊也可以很容易地將asctime轉換為日期時間字元串。
import datetime asctime = "Fri May 14 05:24:59 2021" t = datetime.datetime.strptime(asctime, "%a %b %d %H:%M:%S %Y") # 轉成本地時間的字元串 local_time_str = t.strftime("%Y-%m-%d %H:%M:%S") print(local_time_str) # 輸出結果為 2021-05-14 05:24:59
四、使用dateutil庫
Python中的第三方庫dateutil也提供了將asctime轉換為日期時間字元串的函數。
from dateutil import parser asctime = "Fri May 14 05:24:59 2021" dt = parser.parse(asctime) dt_str = dt.strftime("%Y-%m-%d %H:%M:%S") print(dt_str) # 輸出結果為 2021-05-14 05:24:59
總結:
從asctime到日期時間字元串的轉換在Python中是非常常見的操作,可以使用Python標準庫中的time模塊和datetime模塊,也可以使用第三方庫dateutil。無論選擇哪種方法,都可以很容易地實現需求。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/244053.html