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

python語言time庫和datetime庫基本使用詳解

 更新時間:2020年12月25日 10:44:46   作者:偷偷學(xué)Python  
這篇文章主要介紹了python語言time庫和datetime庫基本使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

今天是邊復(fù)習(xí)邊創(chuàng)作博客的第三天,我今年大二,我們專業(yè)開的有這門課程,因為喜歡所以更加認(rèn)真學(xué)習(xí),本以為沒人看呢,看了后臺瀏覽量讓我更加認(rèn)真創(chuàng)作,這篇博客花了2個半小時的時間,結(jié)合自己所學(xué),所思,所想寫作,目的是為了方便喜歡Python的小白學(xué)習(xí),也是一種自我鞭策吧!

python語言使用內(nèi)置time庫和datetime庫來處理日期時間

相關(guān)術(shù)語的解釋

  • UTC time Coordinated Universal Time,世界協(xié)調(diào)時,又稱 格林尼治天文時間、世界標(biāo)準(zhǔn)時間。與UTC time對應(yīng)的是各個時區(qū)的local time,東N區(qū)的時間比UTC時間早N個小時,因此UTC time + N小時 即為東N區(qū)的本地時間;而西N區(qū)時間比UTC時間晚N個小時,即 UTC time - N小時 即為西N區(qū)的本地時間; 中國在東8區(qū),因此比UTC時間早8小時,可以以UTC+8進(jìn)行表示。
  • epoch time 表示時間開始的起點;它是一個特定的時間,不同平臺上這個時間點的值不太相同,對于Unix而言,epoch time為 1970-01-01 00:00:00 UTC。
  • timestamp(時間戳) 也稱為Unix時間 或 POSIX時間;它是一種時間表示方式,表示從格林尼治時間1970年1月1日0時0分0秒開始到現(xiàn)在所經(jīng)過的毫秒數(shù),其值為float類型。 但是有些編程語言的相關(guān)方法返回的是秒數(shù)(Python就是這樣),這個需要看方法的文檔說明。需要說明的是時間戳是個差值,其值與時區(qū)無關(guān)。

調(diào)用庫的三種方式:

以time庫為例,調(diào)用其它庫類似

from time import * (*代表time包含所有的時間處理函數(shù),用到某個也可單定義,調(diào)用函數(shù)時直接使用,比如:clock())
import time  (調(diào)用函數(shù)方式,比如:time.clock())
import time as t (自定義庫的名稱,調(diào)用時方便,比如:t.clock())

time庫的主要的三類函數(shù):

以上面第三種庫調(diào)用方式舉例

1.時間獲取:t.time();t.ctime();t.gmtime() #每種獲取時間不一樣,根據(jù)需求使用
2.程序計時:t.clock();t.perf_counter() #使用方式一樣
3.時間格式化:t.strftime(format,t);t.strptime(string,format)
#format表示要定義的格式,t表示獲取的時間,string表示字符串類型時間
    字符串格式化:%y 兩位數(shù)的年份表示(00-99)
                  %Y 四位數(shù)的年份表示(000-9999)
                  %m 月份(01-12)
                  %d 月內(nèi)中的一天(0-31)
                  %H 24小時制小時數(shù)(0-23)
                  %I 12小時制小時數(shù)(01-12)
                  %M 分鐘數(shù)(00=59)
                  %S 秒(00-59)
 4.程序休眠:t.sleep()

#使用舉例
import time as t
t0=t.gmtime()
print(t0)
t1="2020-12-23 19:23:20"
t2 = t.strptime(t1,"%Y-%m-%d %H:%M:%S")
t3 = t.strftime("%y/%m/%d %H:%M:%S")
print(t2)
print(t3)

打印結(jié)果:
C:\Users\86185\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/86185/PycharmProjects/untitled/Python復(fù)習(xí)/hk.py
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=12, tm_min=22, tm_sec=39, tm_wday=2, tm_yday=358, tm_isdst=0)
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=23, tm_hour=19, tm_min=23, tm_sec=20, tm_wday=2, tm_yday=358, tm_isdst=-1)
20/12/23  20:22:39

Process finished with exit code 0

time模塊主要用于時間訪問和轉(zhuǎn)換,這個模塊提供了各種與時間相關(guān)的函數(shù)。

方法/屬性 描述
time.altzone 返回與utc時間的時間差,以秒為單位(西區(qū)該值為正,東區(qū)該值為負(fù))。其表示的是本地DST 時區(qū)的偏移量,只有daylight非0時才使用。
time.clock() 返回當(dāng)前進(jìn)程所消耗的處理器運行時間秒數(shù)(不包括sleep時間),值為小數(shù);該方法Python3.3改成了time.process_time()
time.asctime([t]) 將一個tuple或struct_time形式的時間(可以通過gmtime()和localtime()方法獲取)轉(zhuǎn)換為一個24個字符的時間字符串,格式為: "Fri Aug 19 11:14:16 2016"。如果參數(shù)t未提供,則取localtime()的返回值作為參數(shù)。
time.ctime([secs]) 功能同上,將一個秒數(shù)時間戳表示的時間轉(zhuǎn)換為一個表示當(dāng)前本地時間的字符串。如果參數(shù)secs沒有提供或值為None,則取time()方法的返回值作為默認(rèn)值。ctime(secs)等價于asctime(localtime(secs))
time.time() 返回時間戳(自1970-1-1 0:00:00 至今所經(jīng)歷的秒數(shù))
time.localtime([secs]) 返回以指定時間戳對應(yīng)的本地時間的 struct_time對象(可以通過下標(biāo),也可以通過 .屬性名 的方式來引用內(nèi)部屬性)格式
time.localtime(time.time() + n*3600) 返回n個小時后本地時間的 struct_time對象格式(可以用來實現(xiàn)類似crontab的功能)
time.gmtime([secs]) 返回指定時間戳對應(yīng)的utc時間的 struct_time對象格式(與當(dāng)前本地時間差8個小時)
time.gmtime(time.time() + n*3600) 返回n個小時后utc時間的 struct_time對象(可以通過 .屬性名 的方式來引用內(nèi)部屬性)格式
time.strptime(time_str, time_format_str) 將時間字符串轉(zhuǎn)換為struct_time時間對象,如:time.strptime('2017-01-13 17:07', '%Y-%m-%d %H:%M')
time.mktime(struct_time_instance) 將struct_time對象實例轉(zhuǎn)換成時間戳
time.strftime(time_format_str[, struct_time_instance]) 將struct_time對象實例轉(zhuǎn)換成字符串,如果struct_time_instance不指定則取當(dāng)前本地時間對應(yīng)的time_struct對象

datetime庫主要的四類函數(shù):

datetime庫是基于time庫進(jìn)行了封裝;以import datetime as dt 為datetime庫調(diào)用方式

1.date:表示的是日期對象 #dt.date
2.time;表示的是時間對象 #dt.time ;一般不用date和time函數(shù),datetime函數(shù)包含其功能
3.datetime:表示的是日期時間對象#dt.datetime.now()表示獲取當(dāng)前時間;dt.strftime(format) # 按照 format 進(jìn)行格式化輸出
4.timedelta:主要用于定義計算時間跨度 #t=dt.timedelat(hours=10)表示定義時間跨度是10小時

用分隔符'''分類展示如下:

import datetime as dt
now = dt.datetime.now() # 獲取當(dāng)前datetime
print(now)
輸出結(jié)果:2019-05-07 16:28:07.198690
'''
d = dt.date(2020, 12, 23)
print(d)
print('year:', d.year)
print('month:', d.month)
print('day:', d.day)
輸出結(jié)果:
2020-12-23
year: 2020
month: 12
day: 23
'''
'''
date1=dt.date(2020,12,23)
timedel=dt.timedelta(days=4)#表示時間跨度為4天
print('四天后的日期是:', date1+timedel)
輸出結(jié)果:四天后的日期是:2020-12-27
'''

最后配上一段小程序:文本進(jìn)度條打印程序分析

import time
scale = 100 #這個可以隨意設(shè)置,看需求
print("執(zhí)行開始".center(scale//2,'-'))# .center(a,'b')函數(shù)是居中符,這條程序是將“執(zhí)行開始”居中占字符為scale//2(可看需求自定義),b為填充符
starttime = time.clock() #time庫內(nèi)置函數(shù),第一次使用是開始計時
for i in range(scale+1):
  a = '*' * i  #將'*'字符隨i的增加而增加
  b = '.' * (scale - i) #將'.'字符隨‘*'增加而減少,兩個字符總數(shù)是scale的初始值數(shù)量
  c = (i/scale) * 100 #求百分比
  t = time.clock()-starttime #計算時間,第二次調(diào)用time.clock函數(shù)表示計時結(jié)束
  print("\r{:^3.0f}%[{}->{}]{:.2}s".format(c,a,b,t),end="")#字符格式化,看需求,自己玩就是咋好看咋格式化
  time.sleep(0.05) #time.sleep()函數(shù)表示讓程序休眠,里面參數(shù)是休眠時間根據(jù)需求隨意定義
print("\n"+"執(zhí)行結(jié)束".center(scale//2,'-'))#同上;"\n表示換行打印";"+"連接符,具有連接功能

關(guān)于datetime模塊的datetime類會在下面做詳細(xì)講解,這里簡單說下time.struct_time。

time.struct_time包含如下屬性:

下標(biāo)/索引 屬性名稱 描述
0 tm_year 年份,如 2017
1 tm_mon 月份,取值范圍為[1, 12]
2 tm_mday 一個月中的第幾天,取值范圍為[1-31]
3 tm_hour 小時, 取值范圍為[0-23]
4 tm_min 分鐘,取值范圍為[0, 59]
5 tm_sec 秒,取值范圍為[0, 61]
6 tm_wday 一個星期中的第幾天,取值范圍為[0-6],0表示星期一
7 tm_yday 一年中的第幾天,取值范圍為[1, 366]
8 tm_isdst 是否為夏令時,可取值為:0 , 1 或 -1

屬性值的獲取方式有兩種:

  • 可以把它當(dāng)做一種特殊的有序不可變序列通過 下標(biāo)/索引 獲取各個元素的值,如t[0]
  • 也可以通過 .屬性名 的方式來獲取各個元素的值,如t.tm_year。

需要說明的是struct_time實例的各個屬性都是只讀的,不可修改。

到此這篇關(guān)于python語言time庫和datetime庫基本使用詳解的文章就介紹到這了,更多相關(guān)python time庫和datetime庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python?操作?Excel?之?openpyxl?模塊

    Python?操作?Excel?之?openpyxl?模塊

    這篇文章主要介紹了Python?操作?Excel?之?openpyxl?模塊,文章基于python的相關(guān)資料展開對?openpyxl?模塊的詳細(xì)介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python編程深度學(xué)習(xí)繪圖庫之matplotlib

    Python編程深度學(xué)習(xí)繪圖庫之matplotlib

    今天小編就為大家分享一篇關(guān)于Python編程深度學(xué)習(xí)繪圖庫之matplotlib,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 在Python中計算移動平均值的方法

    在Python中計算移動平均值的方法

    在這篇文章中,我們將看到如何在Python中計算移動平均值,移動平均是指總觀測值集合中固定大小子集的一系列平均值,它也被稱為滾動平均,文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • python 實現(xiàn)將多條曲線畫在一幅圖上的方法

    python 實現(xiàn)將多條曲線畫在一幅圖上的方法

    今天小編就為大家分享一篇python 實現(xiàn)將多條曲線畫在一幅圖上的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Django防御csrf攻擊的實現(xiàn)方式(包括ajax請求)

    Django防御csrf攻擊的實現(xiàn)方式(包括ajax請求)

    這篇文章主要介紹了Django防御csrf攻擊的實現(xiàn)方式(包括ajax請求),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python實現(xiàn)將字典內(nèi)容保存到Excel文件的四種方法

    Python實現(xiàn)將字典內(nèi)容保存到Excel文件的四種方法

    Python 中的字典是一個數(shù)據(jù)集合,其中每個值對應(yīng)一個鍵,它們是無序的、可變的,并且對字典中存儲的值和鍵的數(shù)據(jù)類型沒有限制,本文給大家介紹了Python實現(xiàn)將字典內(nèi)容保存到Excel文件的四種方法,需要的朋友可以參考下
    2024-07-07
  • 對pyqt5中QTabWidget的相關(guān)操作詳解

    對pyqt5中QTabWidget的相關(guān)操作詳解

    今天小編就為大家分享一篇對pyqt5中QTabWidget的相關(guān)操作詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • mac系統(tǒng)下Redis安裝和使用步驟詳解

    mac系統(tǒng)下Redis安裝和使用步驟詳解

    這篇文章主要介紹了mac下Redis安裝和使用步驟詳解,并將python如何操作Redis做了簡單介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • 詳解Selenium如何實現(xiàn)獲取cookies并保存

    詳解Selenium如何實現(xiàn)獲取cookies并保存

    這篇文章主要為大家詳細(xì)介紹了Selenium如何實現(xiàn)獲取cookies保存起來用于下次訪問,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-05-05
  • Python中OpenCV實現(xiàn)簡單車牌字符切割

    Python中OpenCV實現(xiàn)簡單車牌字符切割

    本文將結(jié)合實例代碼,在Jupyter Notebook上使用Python+opencv實現(xiàn)如下簡單車牌字符切割。感興趣的小伙伴可以參考一下
    2021-06-06

最新評論