Python 标准库之 time
生活随笔
收集整理的這篇文章主要介紹了
Python 标准库之 time
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1. 簡介
在 Python 文檔里,time 是歸類在Generic Operating System Services中,換句話說, 它提供的功能是更加接近于操作系統(tǒng)層面的。通讀文檔可知,time 模塊是圍繞著 Unix Timestamp 進(jìn)行的。
該模塊主要包括一個類 struct_time,另外其他幾個函數(shù)及相關(guān)常量。 需要注意的是在該模塊中的大多數(shù)函數(shù)是調(diào)用了所在平臺C library的同名函數(shù), 所以要特別注意有些函數(shù)是平臺相關(guān)的,可能會在不同的平臺有不同的效果。另外一點是,由于是基于Unix Timestamp,所以其所能表述的日期范圍被限定在 1970 – 2038 之間,如果你寫的代碼需要處理在前面所述范圍之外的日期,那可能需要考慮使用datetime模塊更好。
2. 常用方法
| 函數(shù) | 說明 |
|---|---|
| time.time() | 返回時間戳格式的時間 (相對于1970.1.1 00:00:00以秒計算的偏移量) |
| time.ctime() | 返回字符串形式的時間,可以傳入時間戳格式時間,用來做轉(zhuǎn)化 |
| time.asctime() | 返回字符串形式的時間,可以傳入struct_time形式時間,用來做轉(zhuǎn)化 |
| time.localtime() | 返回當(dāng)前時間的struct_time形式,可傳入時間戳格式時間,用來做轉(zhuǎn)化 |
| time.gmtime() | 返回當(dāng)前時間的struct_time形式,UTC時區(qū)(0時區(qū)) ,可傳入時間戳格式時間,用來做轉(zhuǎn)化 |
| 時間格式化 | |
| time.mktime() | 將一個以struct_time格式轉(zhuǎn)換為時間戳 |
| time.strftime(format[,t]) | 把一個struct_time時間轉(zhuǎn)化為格式化的時間字符串。如果t未指定,將傳入time.localtime()。如果元組中任何一個元素越界,ValueError的錯誤將會被拋出 |
| time.strptime(string[,format]) | 把一個格式化時間字符串轉(zhuǎn)化為struct_time。實際上它和strftime()是逆操作。 |
| 計時器功能 | |
| time.sleep(secs) | 線程推遲指定的時間運行。單位為秒。 |
| time.clock() | 這個需要注意,在不同的系統(tǒng)上含義不同。在UNIX系統(tǒng)上,它返回的是“進(jìn)程時間”,它是用秒表示的浮點數(shù)(時間戳)。而在WINDOWS中,第一次調(diào)用,返回的是進(jìn)程運行的實際時間。而第二次之后的調(diào)用是自第一次調(diào)用以后到現(xiàn)在的運行時間 |
| 其它內(nèi)置函數(shù) | |
| altzone() | 返回格林威治西部的夏令時地區(qū)的偏移秒數(shù)。如果該地區(qū)在格林威治東部會返回負(fù)值(如西歐,包括英國)。對夏令時啟用地區(qū)才能使用 |
| tzset() | 根據(jù)環(huán)境變量TZ重新初始化時間相關(guān)設(shè)置 |
| timezone | 是當(dāng)?shù)貢r區(qū)(未啟動夏令時)距離格林威治的偏移秒數(shù)(>0,美洲;<=0大部分歐洲,亞洲,非洲) |
| tzname | 包含一對根據(jù)情況的不同而不同的字符串,分別是帶夏令時的本地時區(qū)名稱,和不帶的 |
In [1]: import timeIn [2]: time.time()
Out[2]: 1526196952.434In [3]: time.ctime()
Out[3]: 'Sun May 13 15:36:09 2018'In [4]: time.asctime()
Out[4]: 'Sun May 13 15:36:28 2018'In [5]: time.localtime()
Out[5]: time.struct_time(tm_year=2018, tm_mon=5, tm_mday=13, tm_hour=15, tm_min=36, tm_sec=49, tm_wday=6, tm_yday=133, tm_isdst=0)
# struct_time共有9個元素,其中前面6個為年月日時分秒,后面三個分別代表的含義為:
# tm_wday 一周的第幾天(周日是0)
# tm_yday 一年的第幾天
# tm_isdst 是否是夏令時In [6]: time.gmtime()
Out[6]: time.struct_time(tm_year=2018, tm_mon=5, tm_mday=13, tm_hour=7, tm_min=37, tm_sec=3, tm_wday=6, tm_yday=133, tm_isdst=0)In [7]: time.mktime(time.localtime())
Out[7]: 1526197173.0In [8]: time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
Out[8]: '2018-05-13 15:54:35'In [9]: time.strptime(time.ctime())
Out[9]: time.struct_time(tm_year=2018, tm_mon=5, tm_mday=13, tm_hour=15, tm_min=56, tm_sec=36, tm_wday=6, tm_yday=133, tm_isdst=-1)In [10]: time.timezone
Out[10]: -28800In [12]: time.tzname
Out[12]:
('\xd6\xd0\xb9\xfa\xb1\xea\xd7\xbc\xca\xb1\xbc\xe4','\xd6\xd0\xb9\xfa\xcf\xc4\xc1\xee\xca\xb1')In [13]: time.tzname[0].decode("GBK")
Out[13]: u'\u4e2d\u56fd\u6807\u51c6\u65f6\u95f4'In [14]: print time.tzname[0].decode("GBK")
中國標(biāo)準(zhǔn)時間In [15]: print time.tzname[1].decode("GBK")
中國夏令時
time.strftime(format[,t]) 時間字符串格式化參數(shù)列表
| 參數(shù) | 說明 |
|---|---|
| %c | 本地相應(yīng)的日期和時間表示 |
| %x | 本地相應(yīng)日期 |
| %X | 本地相應(yīng)時間 |
| %y | 去掉世紀(jì)的年份(00 – 99) |
| %Y | 完整的年份 |
| %m | 月份(01 – 12) |
| %b | 本地簡化月份名稱 |
| %B | 本地完整月份名稱 |
| %d | 一個月中的第幾天(01 – 31) |
| %j | 一年中的第幾天(001 – 366) |
| %U | 一年中的星期數(shù)。(00 – 53星期天是一個星期的開始。)第一個星期天之前的所有天數(shù)都放在第0周 |
| %W | 和%U基本相同,不同的是%W以星期一為一個星期的開始 |
| %w | 一個星期中的第幾天(0 – 6,0是星期天) |
| %a | 本地(locale)簡化星期名稱 |
| %A | 本地完整星期名稱 |
| %H | 一天中的第幾個小時(24小時制,00 – 23) |
| %I | 第幾個小時(12小時制,01 – 12) |
| %p | 本地am或者pm的相應(yīng)符,“%p”只有與“%I”配合使用才有效果 |
| %M | 分鐘數(shù)(00 – 59) |
| %S | 秒(01 – 61),文檔中強調(diào)確實是0 – 61,而不是59,閏年秒占兩秒 |
| %Z | 時區(qū)的名字(如果不存在為空字符) |
| %% | ‘%’字符 |
總結(jié)
以上是生活随笔為你收集整理的Python 标准库之 time的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 标准库之 subproce
- 下一篇: Python 常用内置函数map、zip