三個時間表示:1.時間戳;2.結構化時間;3.格式化時間;html
從1970年1月1日到如今的秒數;python
一個時間的元組; 內容以下:time.structtime(tmyear=2018, tmmon=1, tmmday=19, tmhour=10, tmmin=39, tmsec=45, tmwday=4, tmyday=19, tmisdst=0)web
依次爲: tm_year 年份(包括世紀,如1998) tm_mon 月(1-12) tm_mday 天(1-31) tm_hour 小時(0-23) tm_min 分鐘(到59) tm_sec 秒(到59) tm_wday 一週的第幾天(0-6,星期一是0) tm_yday 一年中的第幾天(一天一年,1-366) tm_isdst 夏令時(夏時制)標誌(- 1, 0或1)
例如: 2018-01-19 10:43:36spa
官方time模塊介紹: https://docs.python.org/3/library/time.htmlcode
asctime([tuple]) -> string 將 結構化時間 轉化爲 字符串形式;當不指定參數時,默認使用localtime; 例如: import time t_time=time.localtime() # t_time = time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=10, tm_min=57, tm_sec=15, tm_wday=4, tm_yday=19, tm_isdst=0) print(time.asctime(t_time)) # 輸出 Fri Jan 19 10:57:15 2018
clock() -> floating point number 記錄CPU使用的時間。 例如:當執行 print(time.clock()) 時,記錄CPU執行print語句的時間;
ctime(seconds) -> string 指定參數秒數,返回一個字符串時間。 若是指定參數,則返回時間是: 零時區1970年1月1日0點0分0秒時的當前時區localtime + 指定的秒數。 若是未指定參數,則返回時間爲:當前的本地時間localtime 假如如今北京時間是東八區,指定秒數30: time.ctime(30),則返回 Thu Jan 1 08:00:30 1970 ; 假如不指定秒數,則返回當前時間 local_time 例如: import time print(time.ctime(30)) # 輸出 Thu Jan 1 08:00:30 1970 print(time.ctime()) # 輸出 Fri Jan 19 11:08:41 2018 print(time.localtime()) # 輸出 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=11, tm_min=08, tm_sec=41, tm_wday=4, tm_yday=19, tm_isdst=0)
get_clock_info(name: str) -> dict 暫時跳過;之後補充;
gmtime([seconds]) -> (tm_year, tm_mon, tm_mday, tm_hour, tm_min,tm_sec, tm_wday, tm_yday, tm_isdst) 指定參數秒數,返回的格式是結構化時間; 若是指定參數,則返回的時間爲:1970年1月1日0點0分 + 指定的秒數; 若是未指定參數,則返回 當前UTC(零時區的)時間。即東八區北京時間減去8小時的時間。 例如: import time print(time.gtime(30)) # 輸出 time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=30, tm_wday=3, tm_yday=1, tm_isdst=0) print(time.gtime()) # 輸出 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=3, tm_min=22, tm_sec=13, tm_wday=4, tm_yday=19, tm_isdst=0) print(time.localtime()) # 輸出本地時間 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=11, tm_min=22, tm_sec=13, tm_wday=4, tm_yday=19, tm_isdst=0)
localtime([seconds]) -> (tm_year,tm_mon,tm_mday,tm_hour,tm_min, tm_sec,tm_wday,tm_yday,tm_isdst) 指定參數,返回結構化時間; 若是指定了參數,則返回時間爲:零時區1970年1月1日0點0分時,當前時區(如東八區)的localtime + 指定的秒數 若是未指定參數,則返回時間爲:當前的本地時間localtime 例如: import time print(time.localtime(30)) # time.struct_time(tm_year=1970, tm_mon=1, tm_mday=1, tm_hour=8, tm_min=0, tm_sec=30, tm_wday=3, tm_yday=1, tm_isdst=0) print(time.localtime()) # time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=11, tm_min=45, tm_sec=26, tm_wday=4, tm_yday=19, tm_isdst=0) print(time.ctime()) # Fri Jan 19 11:45:26 2018
mktime(tuple) -> floating point number 將結構化時間轉換爲時間戳; 例如: import time t_time=time.localtime() print(t_time) # time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=11, tm_min=52, tm_sec=21, tm_wday=4, tm_yday=19, tm_isdst=0) print(time.mktime(t_time)) # 1516333941
monotonic() -> float 不能倒退的單調時鐘;之後補充
perf_counter() -> float 計數器;之後補充
process_time() -> float 用於分析的過程時間:內核和用戶空間CPU時間之和。
sleep(seconds) 睡眠指定的秒數;必須指定,能夠爲浮點數;
strftime(format[, tuple]) -> string 根據指定的時間格式將時間元組轉換成字符串。若是不指定時間元組,則默認使用localtime。 例如: import time t_time=time.localtime() # t_time = time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=13, tm_min=2, tm_sec=3, tm_wday=4, tm_yday=19, tm_isdst=0) time.sleep(5) print(time.strftime('%Y-%m-%d %H:%M:%S',t_time)) #輸出 2018-01-19 13:02:03 經常使用格式碼: %Y 以十進制數字表示的年 例如2018. %m 十進制表示的月 [01,12]. %d 十進制表示的天 [01,31]. %H 十進制表示的小時 [00,23]. %M 十進制表示的分鐘 [00,59]. %S 十進制表示的秒 [00,61]. %z 相對UTC的偏移量;若是東區爲+,西區爲-;例如東八區 +0800. %a 本地時區當前的工做日縮寫,即星期;例如:星期五 Fri. %A 本地時區當前的工做日全寫,即星期;例如:星期五 Friday. %b 本地時區當前的月份縮寫,即月份;例如:一月 Jan. %B 本地時區當前的月份全寫,即月份;例如:一月 January. %c 本地的當前時間,字符串格式;例如: Fri Jan 19 13:17:50 2018. %I 以十進制數字表示小時,12小時制 [01,12]. %p 上午或下午,例如 AM or PM. %j 一年中的第幾天,十進制數[001,366]。 %U 一年中的第幾周,十進制數[00,53]。星期日做爲一週的第一天;在一年的第一個星期日前的幾天,都認爲在第0周; %w 一週中的第幾天,十進制數[0,6];星期日爲0 %W 一年中的第幾周,十進制數[00,53]。星期一做爲一週的第一天;在一年的第一個星期一前的幾天,都認爲在第0周; %x 本地時間的年月日的適當表示形式,字符串格式;例如:01/19/18 2018年1月19日。 %X 本地時間的時間適當表示形式,字符串格式;例如:13:54:42 %y 兩位數字表示年份,沒有世紀號;十進制數;[00,99] %Z 時區名稱(若是沒有時區,則沒有字符)。 %% %字符
strptime(string, format) -> struct_time 根據指定的格式和字符串時間,把時間轉換爲結構化時間(元組形式);兩個參數必須指定; 例如: import time str_time="2018-01-19 13:02:03" print(time.strptime(str_time,'%Y-%m-%d %H:%M:%S')) # 輸出 time.struct_time(tm_year=2018, tm_mon=1, tm_mday=19, tm_hour=13, tm_min=23, tm_sec=9, tm_wday=4, tm_yday=19, tm_isdst=-1)
經常使用格式碼:和上面同樣。orm
time() -> floating point number 從紀元開始以秒爲單位返回當前時間;即時間戳;若是系統支持,則可能返回浮點數,即更精確;
import datetime now_time=datetime.datetime.now() print(now_time) # 輸出 2018-01-19 15:21:28.702212
平時咱們也能夠用這個取時間。htm
datetime ####### 獲取當前的日期和時間 from datetime import datetime now_time=datetime.now() print(now_time) # 2015-05-18 16:28:07.198690 ####### 獲取指定日期和時間 from datetime import datetime dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間建立datetime print(dt) # 2015-04-19 12:20:00 ####### 將時間轉換爲時間戳 from datetime import datetime dt = datetime(2015, 4, 19, 12, 20) # 用指定日期時間建立datetime dt.timestamp() # 把datetime轉換爲timestamp 1429417200.0 ####### 將時間戳轉換爲時間 from datetime import datetime t = 1429417200.0 print(datetime.fromtimestamp(t)) # 2015-04-19 12:20:00 ####### 將字符串轉換爲時間 from datetime import datetime cday = datetime.strptime('2015-6-1 18:19:59', '%Y-%m-%d %H:%M:%S') print(cday) # 2015-06-01 18:19:59 ####### 將時間轉換爲字符串 from datetime import datetime now = datetime.now() print(now.strftime('%a, %b %d %H:%M')) # Mon, May 05 16:28 ####### 時間的加減 from datetime import datetime, timedelta now = datetime.now() print(now) # 10小時後的日期。輸出 datetime.datetime(2015, 5, 18, 16, 57, 3, 540997)的結果 now + timedelta(hours=10) # 輸出 datetime.datetime(2015, 5, 19, 2, 57, 3, 540997)的結果 now - timedelta(days=1) # 1day前的時間。輸出 datetime.datetime(2015, 5, 17, 16, 57, 3, 540997)的結果 now + timedelta(days=2, hours=12) # 2天12小時後的日期。輸出 datetime.datetime(2015, 5, 21, 4, 57, 3, 540997)的結果