Python 一篇文章看懂時(shí)間日期對(duì)象
一、時(shí)間對(duì)象time
time模塊使用的是C語(yǔ)言函數(shù)庫(kù)中的函數(shù)。只能處理1970/1/1到2038/12/31之間的數(shù)據(jù)。
1.測(cè)量運(yùn)行時(shí)間方法
①process_time()
主要作用就是返回當(dāng)前進(jìn)程處理器運(yùn)行時(shí)間
②perf_counter()
返回性能計(jì)算器
③monotonic()
返回單項(xiàng)時(shí)鐘
2.函數(shù)性能計(jì)算器
使用函數(shù)裝飾器結(jié)合time對(duì)象,測(cè)試排序算法的性能。
from random import * import time # -----------------------裝飾器函數(shù)用于計(jì)時(shí)-----------------------# def timer(func): def weapper(*s): start=time.perf_counter() func(*s) end=time.perf_counter() print("用時(shí):\t\t",end-start) return weapper # -----------------------生成隨機(jī)列表-----------------------# def randomlist(): return [randint(0,100) for x in range(10)] # -----------------------冒泡排序-----------------------# @timer def sortA(): lis=randomlist() print("隨機(jī)生成的序列:",lis) i=0 while i<len(lis): j=i+1 while j<len(lis)-i: if lis[j]<lis[i]: lis[i],lis[j]=lis[j],lis[i] j+=1 i+=1 print("排序后的序列:\t",lis) # -----------------------選擇排序-----------------------# @timer def sortB(): lis=randomlist() print("隨機(jī)生成的序列:",lis) i=0 while i<len(lis): j=0 while j<len(lis)-1: if lis[j]>lis[j+1]: lis[j+1],lis[j]=lis[j],lis[j+1] j+=1 i+=1 print("排序后的序列:\t",lis) # -----------------------插入排序-----------------------# ''' 將未排序數(shù)列插入左側(cè)已排好隊(duì)的序列。 分析需要一個(gè)游標(biāo)記錄應(yīng)該排序的位置,一個(gè)臨時(shí)變量進(jìn)行應(yīng)該排序數(shù)據(jù)的臨時(shí)保存 ''' @timer def sortC(): lis=randomlist() print("隨機(jī)生成的序列:",lis) for i in range(1,len(lis)): temp = lis[i] j=i while lis[j-1]>temp: lis[j]=lis[j-1] j=j-1 if j==0: break lis[j]=temp print("排序后的序列:\t",lis) # -----------------------主函數(shù)-----------------------# def main(): print("-----------------冒泡排序---------------------") sortA() print("-----------------選擇排序---------------------") sortB() print("-----------------插入排序---------------------") sortC() if __name__=="__main__": main()
二、日期對(duì)象datetime
日期對(duì)象在處理字符串與日期對(duì)象的時(shí)候特別常用。所以呢咱們重點(diǎn)學(xué)習(xí)一下 Python中的字符串轉(zhuǎn)日期、日期轉(zhuǎn)字符串的方法。
1.格式化日期字符串時(shí)常用的占位符
- %Y Year with century as a decimal number.
- %m Month as a decimal number [01,12].
- %d Day of the month as a decimal number [01,31].
- %H Hour (24-hour clock) as a decimal number [00,23].
- %M Minute as a decimal number [00,59].
- %S Second as a decimal number [00,61].
- %z Time zone offset from UTC.
- %a Locale's abbreviated weekday name.
- %A Locale's full weekday name.
- %b Locale's abbreviated month name.
- %B Locale's full month name.
- %c Locale's appropriate date and time representation.
- %I Hour (12-hour clock) as a decimal number [01,12].
- %p Locale's equivalent of either AM or PM.
2.日期對(duì)象
datetime.date.today() #輸出年月日
datetime.datetime.now() #輸出年月日時(shí)分秒毫秒
可以通過(guò)datetime.date.today() 獲取到時(shí)間對(duì)象使用相應(yīng)的實(shí)例方法可以獲取到年月日
可以通過(guò)datetime.datetime.now()獲取到時(shí)間對(duì)象用相應(yīng)的實(shí)例方法可以獲取到年月日時(shí)分秒
屬性是year(年),month(月)day(日),hour(時(shí)),minute(分),second(秒)
st=datetime.datetime.now()
st.year #獲取年份
3.日期轉(zhuǎn)字符串
函數(shù)strftime()參數(shù)為format對(duì)象,占位符使用的就是1中提到的那幾個(gè)。 將日期按照指定格式進(jìn)行格式化,并返回出來(lái)。
代碼如下:
import datetime datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
4.字符串轉(zhuǎn)日期
通過(guò)的是strptime()參數(shù)是一個(gè)字符串,還有字符串的格式化(哪里是年哪里是月) eg:
import datetime
str = datetime.strptime(“20200202”,"%Y%m%d")
這里str就是2020年02月02日的日期對(duì)象
切記時(shí)間對(duì)象可以直接比較大?。〞r(shí)間的前后)
總結(jié)
主要講述了Python中日期與時(shí)間常用到的一些函數(shù),以及日期格式化為字符串、字符串轉(zhuǎn)換為日期對(duì)象。雖然篇幅短小但是非常精悍。對(duì)于時(shí)間日期對(duì)象重點(diǎn)掌握時(shí)間差怎么求,怎么處理字符串與日期之間的關(guān)系就足夠了。其余功能在我們使用的時(shí)候再去官方文檔上查找。
到此這篇關(guān)于Python 一篇文章看懂時(shí)間日期對(duì)象的文章就介紹到這了,更多相關(guān)Python 時(shí)間日期對(duì)象內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
實(shí)操Python爬取覓知網(wǎng)素材圖片示例
大家好,本篇文章介紹的是實(shí)操Python爬取覓知網(wǎng)素材圖片示例,感興趣的朋友趕快來(lái)看一看吧,對(duì)你有用的話(huà)記得收藏起來(lái),方便下次瀏覽2021-11-11Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐
本文主要介紹了Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01python三種數(shù)據(jù)結(jié)構(gòu)及13種創(chuàng)建方法總結(jié)
拿Python來(lái)說(shuō),數(shù)據(jù)結(jié)構(gòu)的概念也是超級(jí)重要,不同的數(shù)據(jù)結(jié)構(gòu),有著不同的函數(shù),供我們調(diào)用,接下來(lái),我們分別來(lái)介紹字符串、列表、字典的創(chuàng)建方法2021-09-09Python在線(xiàn)和離線(xiàn)安裝第三方庫(kù)的方法
這篇文章主要介紹了Python在線(xiàn)和離線(xiàn)安裝第三方庫(kù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10Python實(shí)現(xiàn)歷史記錄功能(實(shí)際案例)
很多應(yīng)用程序都有瀏覽用戶(hù)的歷史記錄的功能,瀏覽器可以查看最近訪(fǎng)問(wèn)過(guò)的網(wǎng)頁(yè),現(xiàn)在我們制作了一個(gè)簡(jiǎn)單的猜數(shù)字的小游戲,添加歷史記錄功能,顯示用戶(hù)最近猜過(guò)的數(shù)字,如何實(shí)現(xiàn)呢?跟隨小編一起看看吧2022-04-04python查詢(xún)sqlite數(shù)據(jù)表的方法
這篇文章主要介紹了python查詢(xún)sqlite數(shù)據(jù)表的方法,涉及Python操作SQLite數(shù)據(jù)庫(kù)的基本技巧,需要的朋友可以參考下2015-05-05tensorflow 獲取變量&打印權(quán)值的實(shí)例講解
今天小編就為大家分享一篇tensorflow 獲取變量&打印權(quán)值的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06python遺傳算法之單/多目標(biāo)規(guī)劃問(wèn)題
本文主要介紹了python遺傳算法之單/多目標(biāo)規(guī)劃問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-04-04如何通過(guò)Python的pyttsx3庫(kù)將文字轉(zhuǎn)為音頻
pyttsx3是一個(gè)開(kāi)源的Python文本轉(zhuǎn)語(yǔ)音庫(kù),可以將文本轉(zhuǎn)換為自然的人類(lèi)語(yǔ)音,這篇文章主要介紹了如何通過(guò)Python的pyttsx3庫(kù)將文字轉(zhuǎn)為音頻,需要的朋友可以參考下2023-04-04Python?OpenCV實(shí)現(xiàn)圖像傅里葉變換
傅里葉變換,也稱(chēng)作傅立葉變換,表示能將滿(mǎn)足一定條件的某個(gè)函數(shù)表示成三角函數(shù)(正弦和/或余弦函數(shù))或者它們的積分的線(xiàn)性組合。本文將介紹如何通過(guò)OpenCV實(shí)現(xiàn)圖像的傅里葉變換,需要的可以參考一下2022-01-01