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