Python 內置模塊之 時間模塊 time

time模塊提供各種時間相關的功能,與時間相關的模塊有:time,datetime,calendar

必要說明:
這個模塊的功能不是適用于所有的平臺
這個模塊中定義的大部分函數是調用C平臺上的同名函數實現

一些術語和約定的解釋:

  1. 時間戳(timestamp)的方式,返回的是float類型:通常來說,時間戳表示的是從1970年1月1日開始按秒計算的偏移量(time.gmtime(0)此模塊中的函數無法處理1970紀元年以前的時間或太遙遠的未來(處理極限取決于C函數庫,對于32位系統而言,是2038年)
  2. UTC(Coordinated Universal Time,世界協調時)也叫格林威治天文時間,是世界標準時間.在我國為UTC+8
  3. DST(Daylight Saving Time)即夏令時
  4. 一些實時函數的計算精度可能不同

表示時間的三種方式

在Python中,通常有這三種方式來表示時間:時間戳、元組(struct_time)、格式化的時間字符串:

時間戳(timestamp):通常來說,時間戳表示的是從1970年1月1日00:00:00開始按秒計算的偏移量。我們運行“type(time.time())”,返回的是float類型。

格式化的時間字符串(Format String): ‘1999-12-06’

%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 當前時區的名稱
%% %號本身

元組(struct_time):struct_time元組共有9個元素(年,月,日,時,分,秒,一年中第幾周,一年中第幾天,是否是夏令時),gmtime(),localtime()和strptime()以時間元祖(struct_time)的形式返回

索引(Index)屬性(Attribute)值(Values)
0tm_year(年)比如2011
1tm_mon(月)1 - 12
2tm_mday(日)1 - 31
3tm_hour(時)0 - 23
4tm_min(分)0 - 59
5tm_sec(秒)0 - 60
6tm_wday(weekday)0 - 6(0表示周一)
7tm_yday(一年中的第幾天)1 - 366
8tm_isdst(是否是夏令時)默認為0
import time
# time() 返回當前時間的一個時間戳,(1970元年后的浮點秒數)
print(time.time())   # 1525509143.3561425 (這是一個時間戳)# localtime() 將一個時間戳(1970紀元年后經過的浮點秒數)轉化為當前地區的一個struct_time(),未設置默認為當前時間
print(time.localtime(1525509143.3561425))
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=5, tm_hour=16, tm_min=32, tm_sec=23, tm_wday=5, tm_yday=125, tm_isdst=0)# ctime([secs]) 把一個時間戳(按秒計算的浮點數)轉化為格式化時間字符串。默認參數是time.time() 
print(time.ctime()) # Sat May 5 16:54:30 2018# gmtime() 與localtime類似,時間戳轉化為struct_time不過返回的UTC世界標準時間。
print(time.gmtime(1525509143.3561425))
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=5, tm_hour=8, tm_min=32, tm_sec=23, tm_wday=5, tm_yday=125, tm_isdst=0)# mktime() 將一個strut_time 轉化為時間戳(1970紀元年后經過的浮點秒數)
print(time.mktime(time.localtime()))       # 1525509143.3561425 
# asctime([t]) 把一個struct_time轉化為格式化時間字符串。默認參數time.localtime()
print(time.asctime())                      # Sat May 5 16:52:07 2018# strftime(format[,t]) 把一個struct_time轉化為格式化的時間字符串,默認參數time.localtime(),如果元組中任命一個元素越界,將會拋出ValueError異常
print(time.strftime("%b %d %Y %H:%M:%S", time.localtime()))  # Jan 14 2019 10:29:54
print(time.strftime("%Y %m %d %X",time.localtime()))         # 2018 05 05 17:04:49
# strptime(string[,format])?把一個格式化時間字符串轉化為struct_time,實際上它和strftie()是逆操作 
print(time.strptime('14 2019 10:29:54','%d %Y %H:%M:%S'))
# time.struct_time(tm_year=2019, tm_mon=1, tm_mday=14, tm_hour=10, tm_min=29, tm_sec=54, tm_wday=0, tm_yday=14, tm_isdst=-1)# clock() 第一次返回的是程序運行時間,第二個是和第一個clock直接的時間差。在UNIX系統上,它返回的是“進程時間”,它是用秒表示的浮點數(時間戳)。而在WINDOWS中,第一次調用,返回的是進程運行的實際時間。而第二次之后的調用是自第一次調用以后到現在的運行時間。(實際上是以WIN32上QueryPerformanceCounter()為基礎,它比毫秒表示更為精確)
# python3.3以后不被推薦使用,該方法依賴操作系統,建議使用per_counter(返回系統運行時間)或process_time(返回進程運行時間)代替
print(time.clock())  #4.72616147781398e-07  這個數基本等于0
time.sleep(2)
print(time.clock())   #1.9999187100225817  等于2# altzone()           返回格林威治西部的夏令時地區的偏移秒數,如果該地區在格林威治東部會返回負值(如西歐,包括英國),對夏令時啟用地區才能使用 
time.daylight?        如果夏令時被定義,則該值為非零 
time.perf_counter()? ?返回計時器的精準時間(系統的運行時間),包含整個系統的睡眠時間.由于返回值的基準點是未定義的,所以,只有連續調用的結果之間的差才是有效的 
time.process_time()?  返回當前進程執行CPU的時間總和,不包含睡眠時間.由于返回值的基準點是未定義的,所以只有連續調用的結果之間的差才是有效的 
time.sleep(secs)? ? ? 推遲調用線程的運行,secs的單位是秒 
time.timezone()? ? ? ?是當地時區(未啟動夏令時)距離格林威治的偏移秒數(美洲>0,歐洲大部分,亞洲,非洲<=0) 
time.tzname? ? ? ? ? ?包含兩個字符串的元組,第一是當地夏令時區的名稱,第二是當地的DST時區的名稱

小結:時間戳是計算機能夠識別的時間;時間字符串是人能夠看懂的時間;元組則是用來操作時間的

幾種格式之間的轉換,放網絡收集圖

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454618.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454618.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454618.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux找link原路徑,readlink命令找出符號鏈接所指向的位置

1.釋義找出符號鏈接所指向的位置2.系統幫助用法&#xff1a;readlink [選項]... 文件...輸出符號鏈接值或權威文件名。-f, --canonicalize遞歸跟隨給出文件名的所有符號鏈接以標準化&#xff0c;除最后一個外所有組件必須存在-e, --canonicalize-existing遞歸跟隨給出文件名的所…

國產毫米波雷達領域的領頭羊,木牛科技將在明年量產77GHz汽車雷達

國內的汽車毫米波雷達市場風潮起于2015年前后&#xff0c;彼時國內的毫米波雷達企業已經發展很多年&#xff0c;但大都在軍工領域。 面對突然出現的汽車毫米波雷達市場熱潮&#xff0c;國內很快涌現出了一大批雷達的初創企業&#xff0c;努力擠進這一亦新亦舊的市場。 說是新&a…

面試風云錄(02) - 與頂級CTO交手的難忘經驗...

大部分面試都是尋找團隊伙伴或成員&#xff0c;很少是面試高層&#xff0c;因為職級比我們高的人&#xff0c;自然會有更高層的人面試他們&#xff0c;但這次分享的不是一般面試&#xff0c;而是我跟頂級CTO交手的經驗&#xff0c;盡管為了顧慮當事人隱私&#xff0c;我已經隱去…

MySQL 之 performance_schema

背景&#xff1a; 自 MySQL5.5開始&#xff0c;MySQL新增了一個數據庫&#xff1a;PERFORMANCE_SCHEMA&#xff0c;主要用于收集數據庫服務器性能參數。此庫中表的存儲引擎均為PERFORMANCE_SCHEMA&#xff08;用戶不能創建存儲引擎為PERFORMANCE_SCHEMA的表&#xff09;。MySQ…

DNS解析原理與Bind部署DNS服務

DNS是什么&#xff1f; DNS&#xff08;Domain Name System&#xff0c;域名系統&#xff09;是互聯網上最核心的帶層級的分布式系統&#xff0c;它負責把域名轉換為IP地址、反查IP到域名的反向解析以及宣告郵件路由等信息&#xff0c;使得基于域名提供服務稱為可能&#xff0c…

qt 獲取本機的wifi密碼_還在記密碼?這款開源免費的賬號密碼管理神器趕緊收了...

工作中涉及到得賬號密碼&#xff0c;你是怎么記錄得&#xff1f;如果是文檔word或者excel記錄&#xff0c;那么回非常麻煩&#xff0c;每次還得打開。如果是瀏覽器自己記錄&#xff0c;如果更新密碼&#xff0c;又記不得。尷尬&#xff01;今天大衛給大家推薦一款開源免費得賬號…

adaptec raid linux,adaptecraid卡管理軟件在windows和linux下的安裝使用介紹(7頁)-原創力文檔...

adaptec raid卡管理軟件在 windows和linux下的安裝使用文檔l.adaptec raid卡的管理軟件在 windows下安裝后的運行界面如下圖:adaplecadaplec點擊connect后&#xff0c;便可進入管理軟件的主界面&#xff0c;如下圖:在這個主界面中可以選擇要操作的 raid卡&#xff0c;例如本例中…

think queue 消息隊列初體驗

使用的是tp5 自帶的消息隊列 thinkphp top里的 消息隊列框架 think-queue 這是thinkphp官方團隊開發的一個專門支持隊列服務的擴展包 消息隊列應用場景&#xff1a; 消息隊列適用于大并發或者返回結果 時間有點長并需要批量操作的第三方接口。 當前使用快遞單號獲取&#xf…

Linux快速計算MD5和Sha1命令

Linux計算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5&#xff08;信息-摘要算法 5&#xff09;&#xff0c;用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一&#xff08;又譯摘要算法、哈希算法&#xff09;&#xff0c;主流編程語言普遍已有MD5實現。 S…

win10無法運行C語言文件,主編告訴你win10打不開pdf文件的詳盡處理辦法

win10打不開pdf文件的問題大家有沒有發現呢&#xff1f;今天有一個網友就來向小編詢問處理辦法。其實不知都還有多少用戶遇到了win10打不開pdf文件的問題&#xff0c;我們可以嘗試著自己來處理win10打不開pdf文件的問題&#xff0c;我們其實只需要這樣操作&#xff1a;1、2、就…

MySQL 自帶的四個數據庫 介紹

背景 通過終端登錄mysql數據庫&#xff08;或直接用客戶端工具&#xff09;查看全部數據庫,如下&#xff1a; 5.7及以上自帶庫為&#xff1a;information_schema、mysql、performance_schema、sys&#xff1b; 5.6自帶的庫為&#xff1a;information_schema、mysql、performa…

簡單繪圖軟件實現mfc大作業_紙筆書寫|可直播可微課可寫作業可批改的手寫板,快來愛“我”吧...

線上教學進入下半場&#xff0c;我們需要什么&#xff1f;走過線上教育的探索期&#xff0c;相信不少老師已經對線上教學駕輕就熟了&#xff0c;但對于線上教學來說&#xff0c;合適的教學支持工具始終是必不可少的。不論是文科教師&#xff0c;還是理科教師&#xff0c;對于真…

一道多線程通信實例分析

程序如下&#xff1a; 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public static void main(String[] args) throws Exception{ final List list new ArrayList(); final Object lock new Object(); Thread t1 …

react native (一)

開始接觸app方面的工作&#xff0c;真心塞~又開始了周而復始的死磕一個問題專坐一整天的節奏&#xff0c;關鍵是還沒有成績&#xff0c;實在無語。╮(╯▽╰)╭&#xff0c;還是總結一下最近心塞歷程吧……react native中文網&#xff1a;http://reactnative.cn/docs/0.48/gett…

2臺電腦一根網線傳文件_「教程」如何快速的在兩臺電腦間傳輸大文件?

兩臺電腦如何傳輸文件我們常見的就是使用U盤或者網盤進行傳輸但是速度非常的慢我們需要一種文件可以直接復制到另一臺設備的方法首先準備一根網線然后將兩臺電腦連接到同一局域網內在右下角的小電腦打開網絡設置找到共享選項然后將公用文件夾共享開啟在下面密碼保護的共享中你可…

C語言信息系統貼吧,急 c語言學生信息管理系統

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓scanf("%s",s.name);printf("請輸入學生的性別&#xff1a;");scanf("%s",s.sex);printf("請輸入學生的班級&#xff1a;");scanf("%s",s.grade);printf("請輸入學生的成績…

Python 內置模塊之 re

前言 輸入一個手機號18333333333&#xff0c;你是怎么知道這串數字是手機號呢&#xff0c;假如現在你用python寫一段代碼&#xff0c;類似&#xff1a; phone_number input(please input your phone number&#xff1a;) 你怎么判斷這個phone_number是合法的呢&#xff1f;…

mysqld_safe啟動mysql

/home/data_mysql/mysql_3306/bin/mysqld_safe --defaults-file/home/data_mysql/mysql_3306/my.cnf --userroot & 原來的 /home/data_mysql/mysql_3306/bin/mysqld --defaults-file/home/data_mysql/mysql_3306/my.cnf --basedir/home/data_mysql/mysql_3306 --datadir/ho…

訂閱內容解碼失敗(非base64碼)_【火眼金睛】超強解碼能力——邦納全新ABR系列讀碼器來襲!...

點擊關注▲ “邦納”&#xff0c;開啟智造之旅邦納全新ABR系列讀碼器具有超強的解碼能力&#xff0c;兩種不同子系列產品&#xff0c;具有多重分辨率和鏡頭配置。從此讀碼不再是難題&#xff01;產品特點超強的解碼能力使其可以讀取困難的1D/2D碼&#xff0c;包括DPM碼和低對比…

程序員面試、算法研究、編程藝術、紅黑樹4大系列集錦與總結

程序員面試、算法研究、編程藝術、紅黑樹4大經典原創系列集錦與總結 作者&#xff1a;July--結構之法算法之道blog之博主。 時間&#xff1a;2010年10月-2011年6月。 出處&#xff1a;http://blog.csdn.net/v_JULY_v 。 聲明&#xff1a;版權所有&#xff0c;侵犯必究。 前言 …