Python time 模塊 - Python零基礎入門教程

目錄

零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門

Python time 模塊主要包含各種提供日期、時間功能的相關函數。time 模塊既提供了把日期、時間格式化爲字符串的功能,也提供了從字符串恢復日期、時間的功能。

一.前言

在 time 模塊內提供了很多函數,很多函數都會返回一個** time.struct_time** 類,該類代表一個時間對象,它主要包含 9 個屬性,每個屬性的信息如圖所示:

二.Python time 模塊常用函數介紹

  • **time.gmtime([secs]) **— 將以秒數代表的時間轉換爲 struct_time 對象。如果不傳入參數,則使用當前時間;

  • time.asctime([t]) — 將時間元組或 struct_time 轉換爲時間字符串。如果不指定參數 t,則默認轉換當前時間;

  • time.localtime([secs]) — 將以秒數代表的時間轉換爲代表當前時間的 struct_time 對象。如果不傳入參數,則使用當前時間;

  • time.sleep(secs) — 暫停 secs 秒,什麼都不幹;

  • **time.strftime(format[, t]) **— 將時間元組或 struct_time 對象格式化爲指定格式的時間字符串。如果不指定參數 t,則默認轉換當前時間;

  • **time.strptime(string[, format]) **— 將字符串格式的時間解析成 struct_time 對象;

  • **time.time() **— 返回從 1970 年 1 月 1 日 0 點整到現在過了多少秒;

  • time.tzname — 返回本地時區的名字;

    !usr/bin/env python

    -- coding:utf-8 _-

    """
    @Author:猿說編程
    @Blog(個人博客地址): www.codersrc.com
    @File:Python time 模塊.py
    @Time:2021/3/28 07:37
    @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

    """

    獲取本地時區的名字

    local_time = time.tzname[0]

    如果不設置編碼格式,輸出是亂碼

    print(local_time.encode('latin-1').decode('gbk'))

    '''
    輸出結果:
    中國標準時間
    '''

三.Python time 模塊使用

1.Python time 模塊獲取時間

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

# 導入時間time模塊
import time

# 獲取當前時間,默認格式
print(time.asctime())

# 返回 time.struct_time 類型對象
print(time.gmtime())

# 返回 time.struct_time 類型對象
print(time.localtime())

# 返回從 1970 年 1 月 1 日 0 點整到現在過了多少秒
print(time.time())

'''
輸出結果:
Thu Nov  7 21:26:29 2019
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=13, tm_min=26, tm_sec=29, tm_wday=3, tm_yday=311, tm_isdst=0)
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=21, tm_min=26, tm_sec=29, tm_wday=3, tm_yday=311, tm_isdst=0)
1573133189.8083951

'''

2.Python time 模塊自定義時間格式

可以通過 time.strftime 函數 將 struct_time 對象轉爲自定義時間格式 或者 將字符串轉爲 struct_time 對象,在轉換過程中可能需要用到以下格式參數:

  • %a 星期幾的簡寫;
  • %A 星期幾的全稱;
  • %b 月分的簡寫;
  • %B 月份的全稱;
  • %c 標準的日期的時間串;
  • %C 年份的後兩位數字;
  • %d 十進制表示的每月的第幾天;
  • %D 月/天/年;
  • %e 在兩字符域中,十進制表示的每月的第幾天;
  • %F 年-月-日;
  • %g 年份的後兩位數字,使用基於周的年;
  • %G 年分,使用基於周的年;
  • %h 簡寫的月份名;
  • %H 24 小時制的小時;
  • %I 12 小時制的小時;
  • **%j **十進制表示的每年的第幾天;
  • %m 十進制表示的月份;
  • %M 十時製表示的分鐘數;
  • %n 新行符;
  • %p 本地的 AM 或 PM 的等價顯示;
  • %r 12 小時的時間;
  • %R 顯示小時和分鐘:hh:mm;
  • %S 十進制的秒數;
  • %t 水平製表符;
  • %T 顯示時分秒:hh:mm:ss;
  • %u 每週的第幾天,星期一爲第一天 (值從 0 到 6,星期一爲 0);
  • %U 第年的第幾周,把星期日做爲第一天(值從 0 到 53);
  • %V 每年的第幾周,使用基於周的年;
  • %w 十進制表示的星期幾(值從 0 到 6,星期天爲 0);
  • %W 每年的第幾周,把星期一做爲第一天(值從 0 到 53);
  • %x 標準的日期串;
  • %X 標準的時間串;
  • %y 不帶世紀的十進制年份(值從 0 到 99);
  • %Y 帶世紀部分的十制年份;
  • %z,%Z 時區名稱,如果不能得到時區名稱則返回空字符;
  • %% 百分號;

將 struct_time 對象轉爲自定義時間格式,示例代碼如下:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

# 導入時間time模塊
import time


str_time = time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime())#再由中間格式轉爲字符串(str)
print(str_time)

str_time = time.strftime('%Y/%m/%d %H:%M:%S', time.localtime())#再由中間格式轉爲字符串(str)
print(str_time)

str_time = time.strftime('%Y/%m/%d %H-%M-%S', time.localtime())#再由中間格式轉爲字符串(str)
print(str_time)

'''
輸出結果:
2019-11-07 14:14:59
2019/11/07 22:14:59
2019/11/07 22-14-59

'''

3.Python time 模塊查看代碼執行時間

Python 開發項目過程中,我們往往會優化代碼,查找哪些代碼比較耗時,具體耗時多少,那麼同樣也可以通過 time 模塊完成

# 導入時間模塊
import time

start_time = time.time()
# 代碼塊
elapse_time = time.time() - start_time  # 單位:秒

代碼分析:通過 time.time() 獲取當前時間,然後兩個時間相減,自然就能得到代碼耗時時間,單位:秒,示例代碼如下:

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:猿說編程
@Blog(個人博客地址): www.codersrc.com
@File:Python time 模塊.py
@Time:2021/3/28 07:37
@Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!

"""

# 導入時間time模塊
import time

def my_model():

    start_time = time.time()
    # 如果年底老闆給我加薪,我就註釋這行代碼,可以讓程序運行效率明顯提升
    time.sleep(0.5)
    end_time = time.time()
    print("核心功能代碼耗時:{}秒".format(end_time - start_time))

if __name__ == "__main__":

    # 核心功能實現
    for i in range(0,10):
        my_model()

如果哪天你用這樣的代碼去忽悠你的項目經歷或者老闆,當你被打斷腿的時候請不要提起我!

四.猜你喜歡

  1. Python 配置環境
  2. Python 變量
  3. Python 運算符
  4. Python 條件判斷 if/else
  5. Python while 循環
  6. Python break
  7. Python continue
  8. Python for 循環
  9. Python 字符串
  10. Python 列表 list
  11. Python 元組 tuple
  12. Python 字典 dict
  13. Python 條件推導式
  14. Python 列表推導式
  15. Python 字典推導式

未經允許不得轉載:猿說編程 » Python time 模塊

本文由博客 - 猿說編程 猿說編程 發佈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章