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ì)象可以直接比較大小(時(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-11
Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐
本文主要介紹了Pandas實(shí)現(xiàn)groupby分組統(tǒng)計(jì)的實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
python三種數(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-09
Python在線(xiàn)和離線(xiàn)安裝第三方庫(kù)的方法
這篇文章主要介紹了Python在線(xiàn)和離線(xiàn)安裝第三方庫(kù)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10
Python實(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-04
python查詢(xún)sqlite數(shù)據(jù)表的方法
這篇文章主要介紹了python查詢(xún)sqlite數(shù)據(jù)表的方法,涉及Python操作SQLite數(shù)據(jù)庫(kù)的基本技巧,需要的朋友可以參考下2015-05-05
tensorflow 獲取變量&打印權(quán)值的實(shí)例講解
今天小編就為大家分享一篇tensorflow 獲取變量&打印權(quán)值的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
python遺傳算法之單/多目標(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-04
Python?OpenCV實(shí)現(xiàn)圖像傅里葉變換
傅里葉變換,也稱(chēng)作傅立葉變換,表示能將滿(mǎn)足一定條件的某個(gè)函數(shù)表示成三角函數(shù)(正弦和/或余弦函數(shù))或者它們的積分的線(xiàn)性組合。本文將介紹如何通過(guò)OpenCV實(shí)現(xiàn)圖像的傅里葉變換,需要的可以參考一下2022-01-01

