Python中日期格式化是非常常見的操作,Python 中能用很多方式處理日期和時間,轉換日期格式是一個常見的功能。Python 提供了一個 time模塊可以用於格式化日期和時間。時間間隔是以秒爲單位的浮點小數。每個時間戳都以自從1970年01月01日00時00分00秒起經過了多長時間來表示。
獲取日期時間戳
獲取當前日期:time.time() # 返回一個時間戳
獲取元組形式的時間戳:time.local(time.time())
t = time.localtime(time.time())
print(t,type(t))
# time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=14, tm_min=43, tm_sec=55, tm_wday=0, tm_yday=13, tm_isdst=0) <class 'time.struct_time'>
格式化符號
%y | 兩位數的年份表示(00-99) |
---|---|
%Y | 四位數的年份表示(000-9999) |
%m | 月份(01-12) |
%d | 月內中的一天(0-31) |
%H | 24小時制小時數(0-23) |
%I | 12小時制小時數(01-12) |
%M | 分鐘數(00=59) |
%S | 秒(00-59) |
%a | 本地簡化星期名稱 |
%A | 本地完整星期名稱 |
%b | 本地簡化的月份名稱 |
%B | 本地完整的月份名稱 |
%c | 本地相應的日期表示和時間表示 |
%j | 年內的一天(001-366) |
%p | 本地A.M.或P.M.的等價符 |
%U | 一年中的星期數(00-53)星期天爲星期的開始 |
%w | 星期(0-6),星期天爲星期的開始 |
%W | 一年中的星期數(00-53)星期一爲星期的開始 |
%x | 本地相應的日期表示 |
%X | 本地相應的時間表示 |
%Z | 當前時區的名稱 |
格式化日期(基於time模塊):
1. 將字符串的時間轉換爲時間格式time.struct_time
time.strftime(format[,t])
如
import time
t = "2020-01-13 17:30:00"
#將其轉換爲time.struct_time格式
struct_time = time.strptime(t, "%Y-%m-%d %H:%M:%S")
print(struct_time)
# time.struct_time(tm_year=2020, tm_mon=1, tm_mday=13, tm_hour=17, tm_min=30, tm_sec=0, tm_wday=0, tm_yday=13, tm_isdst=-1)
2. 將time.struct_time轉爲時間戳
time_stamp = int(time.mktime(struct_time))
print(time_stamp)
# 1578907800
3. 時間戳轉換爲指定格式日期
local_time = time.localtime(time_stamp)
format_time = time.strftime("%Y-%m-%d %H:%M:%S", local_time)
print(format_time)
# 2020-01-13 17:30:00