一文掌握python中的時(shí)間包
python中的時(shí)間包
datetime時(shí)間包
- datetime包是日期與時(shí)間的結(jié)合體(date&time)
- 可以獲取當(dāng)前時(shí)間
- 可以獲取時(shí)間間隔
- 可以將時(shí)間對(duì)象轉(zhuǎn)換成時(shí)間字符串
- 可以將字符串轉(zhuǎn)成時(shí)間類(lèi)型
導(dǎo)入datetime有兩種方式:導(dǎo)入datetime模塊或直接導(dǎo)入datetime包:
from datetime import datetime import datetime
獲取當(dāng)前時(shí)間
使用方法:
datetime.now() # 導(dǎo)入模塊后調(diào)用方法 datetime.datetime.now # 直接導(dǎo)入包后調(diào)用方法
注意,返回的是一個(gè)對(duì)象,一個(gè)類(lèi)的實(shí)例化對(duì)象

獲取時(shí)間間隔
單使用獲取時(shí)間間隔并沒(méi)有什么用處,要配合獲取當(dāng)前時(shí)間來(lái)使用
使用方法:
from datetime import datetime from datetime import timedelta # timedelta是一個(gè)函數(shù) timeobj = timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, week=0) # 后面的參數(shù)分別代表天,秒,毫秒,微秒,分鐘,小時(shí),周;對(duì)應(yīng)的值傳入整型 # 返回的是一個(gè)間隔時(shí)間段的對(duì)象,一個(gè)類(lèi)的實(shí)例化對(duì)象
例子:
獲取前一天的當(dāng)前時(shí)間:

時(shí)間對(duì)象轉(zhuǎn)時(shí)間字符串
上面講到的獲取到的當(dāng)前時(shí)間和時(shí)間間隔都是一個(gè)對(duì)象,而時(shí)間對(duì)象是無(wú)法進(jìn)行傳輸?shù)模覀冃枰獙r(shí)間對(duì)象轉(zhuǎn)換成字符串
方法:
時(shí)間對(duì)象.strftime(format) # format為想要轉(zhuǎn)成的格式,例如format為'%Y-%m-%d'時(shí),會(huì)轉(zhuǎn)換成‘年-月-日'格式
例子:

時(shí)間字符串轉(zhuǎn)時(shí)間對(duì)象
時(shí)間字符串是無(wú)法進(jìn)行加減法的,想要進(jìn)行加減法,還需要將時(shí)間字符串轉(zhuǎn)換成時(shí)間對(duì)象
方法:
from datetime import datetime str_date = '2022-08-08 11:06:06' date_obj = datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S') # datetime.striptime()返回的是個(gè)時(shí)間對(duì)象
例子:

注意:strptime(str, '%Y-%m-%d %H:%M:%S')左邊字符串的格式一定要和右邊參數(shù)的格式一致,否則會(huì)報(bào)錯(cuò):

擴(kuò)展–時(shí)間格式字符
時(shí)間格式字符除了上面提到的%Y %m %d %H %M %S外,代表年、月、日、時(shí)、分、秒,還有其他的字符,只不過(guò)不常用:
| 字符 | 描述 |
|---|---|
| %I | 一天中的第幾個(gè)小時(shí)(12小時(shí)制,01~12),%H是24小時(shí)制 |
| %f | 毫秒 |
| %a | 簡(jiǎn)化的星期,如星期三Wed |
| %A | 完整的星期,如星期三Wednesday |
| %b | 簡(jiǎn)化的月份,如二月Feb |
| %B | 完整的月份,如二月February |
| %c | 本地日期和時(shí)間,如Wed Feb 5 10:14:28 2022 |
| %p | 顯示的上午還是下午,AM/PM |
| %j | 一年中的第幾天 |
| %U | 一年中的星期數(shù) |
時(shí)間戳–timestamp
什么是時(shí)間戳?
時(shí)間戳就是從1970年1月1日00時(shí)00分00秒至今的總毫秒(秒)數(shù)
時(shí)間戳是float類(lèi)型
將時(shí)間對(duì)象轉(zhuǎn)換成時(shí)間戳
方法:
from datetime import datetime datetime.timestamp(datetime.now()) # 返回當(dāng)前時(shí)間戳
將時(shí)間戳轉(zhuǎn)換成時(shí)間對(duì)象
方法:
from datetime import datetime datetime.fromtimestamp(timestamp) # 返回時(shí)間對(duì)象
例子:

time時(shí)間包
獲取當(dāng)前時(shí)間戳
方法:
import time time.time() # 返回秒級(jí)別的時(shí)間戳(浮點(diǎn)類(lèi)型) # 如果想獲取毫秒級(jí)別的時(shí)間戳,只需要用秒級(jí)時(shí)間戳*1000即可
獲取本地時(shí)間
方法:
import time time.localtime(timestamp) # 傳入一個(gè)時(shí)間戳,也可以不傳,如果不傳會(huì)默認(rèn)當(dāng)前時(shí)間 # 返回一個(gè)對(duì)象(time.struct_time),對(duì)象的屬性有時(shí)間信息
time.localtime()返回的對(duì)象屬性里有年月日時(shí)分秒等信息:
| 屬性 | 描述 | 取值范圍 |
|---|---|---|
| tm_year | 四位數(shù)年 | 2020 |
| tm_mon | 月 | 1~12 |
| tm_mday | 日 | 1~31 |
| tm_hour | 時(shí) | 0~23 |
| tm_min | 分 | 0~59 |
| tm_sec | 秒 | 0~61 |
| tm_wday | 一周的第幾天 | 0~6(0是周一) |
| tm_yday | 一年的第幾日 | 1~366 |
| tm_isdst | 夏時(shí)令 | -1,0,1是否時(shí)夏時(shí)令 |

暫停函數(shù)sleep
用法:
import time time.sleep(second) # 傳入希望暫停的秒數(shù)

time中的strftime和strptime
strftime使用方法:
import time time.strftime(format, t) # format--格式化時(shí)間標(biāo)準(zhǔn); t--time.localtime()返回的時(shí)間對(duì)象
strptime使用方法:
import time time.strptime(time_str, format) # time_str--時(shí)間格式的字符串; format--與time_str一致的格式化時(shí)間標(biāo)準(zhǔn)
思考:datetime和time都功能類(lèi)似,為什么還需要兩個(gè)包呢?
答:在工作過(guò)程中,datetime常用于對(duì)日期的處理,而time常用于對(duì)時(shí)間的處理。
到此這篇關(guān)于python中的時(shí)間包的文章就介紹到這了,更多相關(guān)python時(shí)間包內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫(kù)表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程
這篇文章主要為大家介紹了python實(shí)現(xiàn)MySQL?數(shù)據(jù)庫(kù)表格創(chuàng)建?數(shù)據(jù)插入及獲取插入ID操作教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
jupyter note 實(shí)現(xiàn)將數(shù)據(jù)保存為word
這篇文章主要介紹了jupyter note 實(shí)現(xiàn)將數(shù)據(jù)保存為word,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04
解決python 使用openpyxl讀寫(xiě)大文件的坑
這篇文章主要介紹了解決python 使用openpyxl讀寫(xiě)大文件的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03
Python opencv實(shí)現(xiàn)人眼/人臉識(shí)別以及實(shí)時(shí)打碼處理
這篇文章主要為大家詳細(xì)介紹了Python opencv實(shí)現(xiàn)人眼、人臉識(shí)別,以及實(shí)時(shí)打碼處理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-04-04
Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼
這篇文章主要介紹了Python+Django+MySQL實(shí)現(xiàn)基于Web版的增刪改查的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
Python的Twisted框架上手前所必須了解的異步編程思想
Twisted是Python世界中人氣最高的framework之一,異步的工作模式使其名揚(yáng)天下,這里為大家總結(jié)了Python的Twisted框架上手前所必須了解的異步編程思想,需要的朋友可以參考下2016-05-05
Python基于進(jìn)程池實(shí)現(xiàn)多進(jìn)程過(guò)程解析
這篇文章主要介紹了Python基于進(jìn)程池實(shí)現(xiàn)多進(jìn)程過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04
python中用logging實(shí)現(xiàn)日志滾動(dòng)和過(guò)期日志刪除功能
這篇文章主要介紹了python中用logging實(shí)現(xiàn)日志滾動(dòng)和過(guò)期日志刪除功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08

