Python 時間操作time詳情
前言:
我們在日常生活中,都離不開時間和日期。不僅我們的漢字都有大量描述時間日期的詞語如鬥轉星移、分秒必爭、隻針朝夕、轉眼之間等。同樣,在我們程序中,我們也離不開時間日期的記錄。在Python
高級語言中,內置庫提供瞭time
和datetime
模塊進行對時間日期的處理。
1. time 概述
計算機網絡時間是以UNIX元年1970年1月1日0點開始的
Python time
模塊主要對時間進行訪問和轉換
time 有三種表現形式:
- 時間戳(
timestamp
):是一個浮點數,可進行加減運算 - 格式化時間字符串(
string_time
):表示常見的時間格式例2021-10-29 - 結構化時間(
struct_time
):包含年月日時分秒的多元元組。
重要說明:
Python time
模塊目前隻支持2038年。UTC
(世界協調時),也稱為格林威治天文時間、世界標準時間DST
夏令時。按照當地時間在某一時間段調快一小時Python time
是不可變類型,隻讀不能改
2. 格式化時間字符串
格式 | 含義 |
---|---|
%a | 本地星期名稱的英文簡寫(如星期四為Thu) |
%A | 本地星期名稱的英文全稱(如星期四為Thursday) |
%b | 本地月份名稱的英文簡寫(如八月份為agu) |
%B | 本地月份名稱的英文全稱(如八月份為august) |
%c | 本地相應的日期和時間的字符串表示(如:15/08/27 10:20:06) |
%d | 本月第幾號(01 – 31) |
%f | 微秒(范圍0.999999) |
%H | 一天中的第幾個小時(24小時制,00 – 23) |
%I | 第幾個小時(12小時制,0 – 11 |
%j | 一年中的第幾天(001 – 366) |
%m | 月份(01 – 12) |
%M | 分鐘數(00 – 59) |
%p | 本地am或者pm標識符 |
%S | 秒 |
%U | 一年中的星期數。(00 – 53星期天是一個星期的開始。) |
%w | 一個星期中的第幾天(0 – 6,0是星期天) |
%W | 一年中的星期數(1-54) |
%x | 本地相應日期字符串(如15/08/01) |
%X | 本地相應時間字符串(如08:08:10) |
%y | 去掉世紀的年份(00 – 99)兩個數字表示的年份 |
%Y | 完整的年份(4個數字表示年份如2021) |
%z | 與UTC時間的間隔(如果是本地時間,返回空字符串) |
%Z | 時區的名字(如果是本地時間,返回空字符串) |
%% | ‘%’字符 |
3. time 結構化
index | 屬性 | 取值范圍 |
---|---|---|
0 | tm_year(年) | 例如2021 |
1 | tm_mon(月) | 1~12 |
2 | tm_mday(日) | 1~31 |
3 | tm_hour(時) | 0~23 |
4 | tm_min(分) | 0~59 |
5 | tm_sec(秒) | 0~61(60或61 是閏秒) |
6 | tm_wday(weekday) | 0~6 |
7 | tm_yday(一年中的第幾天) | 1~366 |
8 | tm_isdst(是否是夏令時) | -1 |
4. time 相關方法
方法 | 作用 |
---|---|
time.sleep(t) | 睡眠t秒,t可以是浮點數或整數 |
time.time() | 獲取當前系統時間戳 |
time.gmtime(sec) | 時間戳轉換成UTC的結構化時間,sec 默認time.time()作為參數 |
time.localtime(sec) | 時間戳轉換成當前的結構化時間,sec 默認time.time()作為參數 |
time.ctime(sec) | 時間戳轉換成本地時間的格式化字符串,sec 默認time.time()作為參數 |
time.asctime(t) | 將結構化時間轉換成格式化字符串,time.localtime()作為參數 |
time.mktime(t) | 將結構化時間轉換成時間戳 |
time.strftime(format,[t]) | 將結構化時間轉換成指定字符串格式的當地時間默認傳入time.localtime() |
time.strptime(string,[t]) | 將格式化時間轉換成結構化時間 |
time.clock() | 返回執行當前程序的CPU時間 |
5.實操
import time # 獲取本地時間戳 stamp = time.time() # 獲取本地gmt時間 gmt = time.gmtime() # 獲取本地時間 local = time.localtime() # 本地時間格式化 strtime = time.ctime() # 結構化時間轉換成格式化字符 asctime = time.asctime() # 將結構化時間轉換成時間戳 constamp = time.mktime(local) # 將結構化時間轉換成指定字符串格式時間 strf = time.strftime("%Y-%m-%d %H:%M:%S") # 將格式化時間轉成結構化時間 str = time.strptime("2021-10-29 21:07:24","%Y-%m-%d %H:%M:%S") print("獲取本地時間戳:",stamp) print("獲取本地gmt時間:",gmt) print("獲取本地時間:",local) print("本地時間格式化:",strtime) print("結構化時間轉換成格式化字符:",asctime) print("將結構化時間轉換成時間戳:",constamp) print("將結構化時間轉換成指定字符串格式時間:",strf) print("將格式化時間轉成結構化時間:",str)
6.總結
對time模塊中涉及到三種時間格式進行瞭解和學習,並對常用的time方法進行使用。
time 模塊在我們程序中,能幫我們快速查找某一時間點的log詳情。
到此這篇關於 Python 時間操作time詳情的文章就介紹到這瞭,更多相關 Python 時間操作time內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python語言time庫和datetime庫基本使用詳解
- python中time庫使用詳解
- Python標準庫之日期、時間和日歷模塊
- Python中的time模塊和calendar模塊
- Python時間和日期庫的實現