欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何學(xué)習(xí)Python time模塊

 更新時(shí)間:2020年06月03日 08:17:34   作者:silencement  
在本篇文章里小編給大家分享的是關(guān)于Python time模塊知識點(diǎn)及用法,需要的朋友們可以學(xué)習(xí)下。

time 模塊主要包含各種提供日期、時(shí)間功能的類和函數(shù)。該模塊既提供了把日期、時(shí)間格式化為字符串的功能,也提供了從字符串恢復(fù)日期、時(shí)間的功能。

在 Python 的交互式解釋器中先導(dǎo)入 time 模塊,然后輸入 [e for e in dir(time) if not e.startswith('_')] 命令,即可看到該模塊所包含的全部屬性和函數(shù):

>>> [e for e in dir(time) if not e.startswith('_')]
['altzone', 'asctime', 'clock', 'ctime', 'daylight', 'get_clock_info', 'gmtime', 'localtime', 'mktime', 
'monotonic',
 'perf_counter', 'process_time', 'sleep', 'strftime', 'strptime', 'struct_time', 'time', 'timezone', 'tzname']

在 time 模塊內(nèi)提供了一個(gè) time.struct_time 類,該類代表一個(gè)時(shí)間對象,它主要包含 9 個(gè)屬性,每個(gè)屬性的信息如下表所示:

表 1 time.struct_time 類中各屬性的含義

表 1 time.struct_time 類中各屬性的含義
字段名 字段含義
tm_year 如 2017、2018 等
tm_mon 如 2、3 等,范圍為 1~12
tm_mday 如 2、3 等,范圍為 1~31
tm_hour 時(shí) 如 2、3 等,范圍為 0~23
tm_min 如 2、3 等,范圍為 0~59
tm_sec  如 2、3 等,范圍為 0~59
tm_wday 周一為 0,范圍為 0~6
tm_yday  一年內(nèi)第幾天 如 65,范圍 1~366
tm_isdst 夏時(shí)令 0、1 或 -1

比如,Python 可以用 time.struct_time(tm_year=2018, tm_mon=5, tm_mday=2, tm_hour=8, tm_min=0, tm_sec=30, tm_wday=3, tm_yday=1, tm_isdst=0) 很清晰地代表時(shí)間。

此外,Python 還可以用一個(gè)包含 9 個(gè)元素的元組來代表時(shí)間,該元組的 9 個(gè)元素和 struct_time 對象中 9 個(gè)屬性的含義是一一對應(yīng)的。比如程序可以使用(2018, 5, 2, 8, 0, 30, 3, 1, 0)來代表時(shí)間。

在日期、時(shí)間模塊內(nèi)常用的功能函數(shù)如下:

time.asctime([t]):將時(shí)間元組或 struct_time 轉(zhuǎn)換為時(shí)間字符串。如果不指定參數(shù) t,則默認(rèn)轉(zhuǎn)換當(dāng)前時(shí)間。

time.ctime([secs]):將以秒數(shù)代表的時(shí)間轉(zhuǎn)換為時(shí)間宇符串。

time.gmtime([secs]):將以秒數(shù)代表的時(shí)間轉(zhuǎn)換為 struct_time 對象。如果不傳入?yún)?shù),則使用當(dāng)前時(shí)間。

time.localtime([secs]):將以秒數(shù)代表的時(shí)間轉(zhuǎn)換為代表當(dāng)前時(shí)間的 struct_time 對象。如果不傳入?yún)?shù),則使用當(dāng)前時(shí)間。

time.mktime(t):它是 localtime 的反轉(zhuǎn)函數(shù),用于將 struct_time 對象或元組代表的時(shí)間轉(zhuǎn)換為從 1970 年 1 月 1 日 0 點(diǎn)整到現(xiàn)在過了多少秒。

time.perf_counter():返回性能計(jì)數(shù)器的值。以秒為單位。

time.process_time():返回當(dāng)前進(jìn)程使用 CPU 的時(shí)間。以秒為單位。

time.sleep(secs):暫停 secs 秒,什么都不干。

time.strftime(format[, t]):將時(shí)間元組或 struct_time 對象格式化為指定格式的時(shí)間字符串。如果不指定參數(shù) t,則默認(rèn)轉(zhuǎn)換當(dāng)前時(shí)間。

time.strptime(string[, format]):將字符串格式的時(shí)間解析成 struct_time 對象。

time.time():返回從 1970 年 1 月 1 日 0 點(diǎn)整到現(xiàn)在過了多少秒。

time.timezone:返回本地時(shí)區(qū)的時(shí)間偏移,以秒為單位。

time.tzname:返回本地時(shí)區(qū)的名字。

下面程序示范了 time 棋塊的功能函數(shù):

import time
# 將當(dāng)前時(shí)間轉(zhuǎn)換為時(shí)間字符串
print(time.asctime())
# 將指定時(shí)間轉(zhuǎn)換時(shí)間字符串,時(shí)間元組的后面3個(gè)元素沒有設(shè)置
print(time.asctime((2018, 2, 4, 11, 8, 23, 0, 0 ,0))) # Mon Feb 4 11:08:23 2018
# 將以秒數(shù)為代表的時(shí)間轉(zhuǎn)換為時(shí)間字符串
print(time.ctime(30)) # Thu Jan 1 08:00:30 1970
# 將以秒數(shù)為代表的時(shí)間轉(zhuǎn)換為struct_time對象。
print(time.gmtime(30))
# 將當(dāng)前時(shí)間轉(zhuǎn)換為struct_time對象。
print(time.gmtime())
# 將以秒數(shù)為代表的時(shí)間轉(zhuǎn)換為代表當(dāng)前時(shí)間的struct_time對象
print(time.localtime(30))
# 將元組格式的時(shí)間轉(zhuǎn)換為秒數(shù)代表的時(shí)間
print(time.mktime((2018, 2, 4, 11, 8, 23, 0, 0 ,0))) # 1517713703.0
# 返回性能計(jì)數(shù)器的值
print(time.perf_counter())
# 返回當(dāng)前進(jìn)程使用CPU的時(shí)間
print(time.process_time())
#time.sleep(10)
# 將當(dāng)前時(shí)間轉(zhuǎn)換為指定格式的字符串
print(time.strftime('%Y-%m-%d %H:%M:%S'))
st = '2018年3月20日'
# 將指定時(shí)間字符串恢復(fù)成struct_time對象。
print(time.strptime(st, '%Y年%m月%d日'))
# 返回從1970年1970年1月1日0點(diǎn)整到現(xiàn)在過了多少秒。
print(time.time())
# 返回本地時(shí)區(qū)的時(shí)間偏移,以秒為單位
print(time.timezone) # 在國內(nèi)東八區(qū)輸出-28800

運(yùn)行上面程序,可以看到如下輸出結(jié)果:

Fri Feb 22 11:28:39 2019
Mon Feb 4 11:08:23 2018
Thu Jan 1 08:00:30 1970
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)
time.struct_time(tm_year=2019, tm_mon=2, tm_mday=22, tm_hour=3, tm_min=28, tm_sec=39, tm_wday=4, tm_yday=53, 
tm_isdst=0)
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)
1517713703.0
0.0
0.140625
2019-02-22 11:28:39
time.struct_time(tm_year=2018, tm_mon=3, tm_mday=20, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=1, tm_yday=79, 
tm_isdst=-1)
1550806119.4960592
-28800

time 模塊中的 strftime() 和 strptime() 兩個(gè)函數(shù)互為逆函數(shù),其中 strftime() 用于將 struct_time 對象或時(shí)間元組轉(zhuǎn)換為時(shí)間字符串;而 strptime() 函數(shù)用于將時(shí)間字符串轉(zhuǎn)換為 struct_time 對象。這兩個(gè)函數(shù)都涉及編寫格式模板,比如上面程序中使用 %Y 代表年、%m 代表月、%d 代表日、%H 代表時(shí)、%M 代表分、%S 代表秒。這兩個(gè)函數(shù)所需要的時(shí)間格式字符串支持的指令如下表所示:



含義
%a 本地化的星期幾的縮寫名,比如 Sun 代表星期天
%A 本地化的星期幾的完整名
%b 本地化的月份的縮寫名,比如 Jan 代表一月
%B 本地化的月份的完整名
%c 本地化的日期和時(shí)間的表示形式
%d 代表一個(gè)月中第幾天的數(shù)值,范固: 01~31
%H 代表 24 小時(shí)制的小時(shí),范圍:00~23
%I 代表 12 小時(shí)制的小時(shí),范圍:01~12
%j 一年中第幾天,范圍:001~366
%m 代表月份的數(shù)值,范圍:01~12
%M 代表分鐘的數(shù)值,范圍:00~59
%p 上午或下午的本地化方式。當(dāng)使用 strptime() 函數(shù)并使用 %I 指令解析小時(shí)時(shí),%p 只影響小時(shí)字段
%S 代表分鐘的數(shù)值,范圍:00~61。該范圍確實(shí)是 00~61,60 在表示閏秒的時(shí)間戳?xí)r有效,而 61 則是由于一些歷史原因造成的
%U 代表一年中表示第幾周,以星期天為每周的第一天,范圍:00~53。在這種方式下,一年中第一個(gè)星期天被認(rèn)為處于第一周 。當(dāng)使用 strptime() 函數(shù)解析時(shí)間字符串時(shí),只有同時(shí)指定了星期幾和年份該指令才會有效
%w 代表星期幾的數(shù)值,范圍:0~6,其中 0 代表周日
%W 代表一年小第幾周,以星期一為每周的第一天,范圍:00~53。在這種方式下,一年中第一個(gè)星期一被認(rèn)為處于第一周 。當(dāng)使用 strptime() 函數(shù)解析時(shí)間字符串時(shí),只有同時(shí)指定了星期幾和年份該指令才會有效
%x 本地化的日期的表示形式
%X 本地化的時(shí)間的表示形式
%y 年份的縮寫,范圍:00~99,比如 2018 年就簡寫成 18
%Y 年份的完整形式。如 2018
%z 顯示時(shí)區(qū)偏移
%Z 時(shí)區(qū)名(如果時(shí)區(qū)不行在,則顯示為空)
%% 用于代表%符號

知識點(diǎn)擴(kuò)展:

time模塊

這個(gè)模塊提供各種與時(shí)間相關(guān)的函數(shù)。相關(guān)功能,可以參見datetime和calendat模塊。

此模塊并非所有平臺提供所有功能,因平臺而異

以下是對一些術(shù)語和慣例的解釋

  • 初始時(shí)間因平臺而異。對于Unix平臺,初始時(shí)間是1970,01,01,00:00:00(UTC)。查看每個(gè)操作平臺的初始時(shí)間可以使用time.gmtime(0)函數(shù)。
  • 在所有POSIX平臺上,從初始時(shí)間以來的秒數(shù)都不包括閏秒
  • 該模塊中的函數(shù)可能不處理初始時(shí)間以前和遙遠(yuǎn)未來的日期和時(shí)間,未來的分界點(diǎn)對于32位操作系統(tǒng)是2038年。
  • UTC是協(xié)調(diào)世界時(shí)(以前稱為格林尼治標(biāo)準(zhǔn)時(shí)間,GMT)??s寫UTC不是一個(gè)錯(cuò)誤,而是英語和法語之間的妥協(xié)。
  • DST是夏令時(shí),在一年中的某些時(shí)候,時(shí)區(qū)通常會調(diào)整一個(gè)小時(shí)。DST規(guī)則是神奇的(由當(dāng)?shù)胤蓻Q定),每年都在變化。
  • 各種實(shí)時(shí)函數(shù)的精度可能低于表示其值或參數(shù)的單位所建議的精度。

以上就是如何學(xué)習(xí)Python time模塊的詳細(xì)內(nèi)容,更多關(guān)于Python time模塊詳解的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python?中?yeild?的用法詳解

    Python?中?yeild?的用法詳解

    yield?是?Python?中的關(guān)鍵字,用于生成器函數(shù)中,可以將函數(shù)變成一個(gè)迭代器,實(shí)現(xiàn)惰性計(jì)算,節(jié)省內(nèi)存空間。本文將介紹?yield?的基本用法和實(shí)現(xiàn)原理,以及與?yield?相關(guān)的注意事項(xiàng)和常見問題。
    2023-06-06
  • Python貪吃蛇游戲編寫代碼

    Python貪吃蛇游戲編寫代碼

    這篇文章主要為大家詳細(xì)介紹了Python貪吃蛇游戲的編寫代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Python Numpy運(yùn)行報(bào)錯(cuò):IndexError: too many indices for array的分析及解決

    Python Numpy運(yùn)行報(bào)錯(cuò):IndexError: too many in

    在使用Numpy進(jìn)行數(shù)組操作時(shí),經(jīng)常會遇到各種錯(cuò)誤,其中,IndexError: too many indices for array是一種常見的錯(cuò)誤,它通常發(fā)生在嘗試使用一個(gè)過多維度的索引來訪問一個(gè)較低維度的數(shù)組時(shí),本文介紹了Python Numpy報(bào)錯(cuò)的解決辦法,需要的朋友可以參考下
    2024-07-07
  • 將Django框架和遺留的Web應(yīng)用集成的方法

    將Django框架和遺留的Web應(yīng)用集成的方法

    這篇文章主要介紹了將Django框架和遺留的Web應(yīng)用集成的方法,Django是Python百花齊放的web開發(fā)框架中人氣最高的一個(gè),需要的朋友可以參考下
    2015-07-07
  • 如何用Python識別車牌的示例代碼

    如何用Python識別車牌的示例代碼

    車牌識別系統(tǒng)計(jì)算機(jī)視頻圖像識別技術(shù)在車輛牌照識別中的一種應(yīng)用,本文主要介紹了如何用Python識別車牌的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • python版簡單工廠模式

    python版簡單工廠模式

    這篇文章主要為大家詳細(xì)介紹了python版簡單工廠模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Python入門必須知道的11個(gè)知識點(diǎn)

    Python入門必須知道的11個(gè)知識點(diǎn)

    這篇文章主要為大家詳細(xì)介紹了Python入門必須知道的11個(gè)知識點(diǎn),幫助更好地了解python,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Python一行代碼識別車牌號碼實(shí)現(xiàn)示例詳解

    Python一行代碼識別車牌號碼實(shí)現(xiàn)示例詳解

    這篇文章主要為大家介紹了Python一行代碼識別車牌號碼實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • Python應(yīng)用實(shí)現(xiàn)雙指數(shù)函數(shù)及擬合代碼實(shí)例

    Python應(yīng)用實(shí)現(xiàn)雙指數(shù)函數(shù)及擬合代碼實(shí)例

    這篇文章主要介紹了Python應(yīng)用實(shí)現(xiàn)雙指數(shù)函數(shù)及擬合代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 實(shí)例詳解Python模塊decimal

    實(shí)例詳解Python模塊decimal

    這篇文章主要介紹了Python模塊decimal ,Python提供了decimal模塊用于十進(jìn)制數(shù)學(xué)計(jì)算,它具有以下特點(diǎn)在文中給大家詳細(xì)介紹,需要的朋友可以參考下
    2019-06-06

最新評論