PYTHON基礎(chǔ)-時(shí)間日期處理小結(jié)
步驟:
1. 掌握幾種對(duì)象及其關(guān)系
2. 了解每類對(duì)象的基本操作方法
3. 通過(guò)轉(zhuǎn)化關(guān)系轉(zhuǎn)化
涉及對(duì)象
1. datetime
>>> import datetime >>> now = datetime.datetime.now() >>> now datetime.datetime(2018, 1, 12, 23, 9, 12, 946118) >>> type(now) <type 'datetime.datetime'>
2. timestamp
>>> import time >>> time.time() 1421075455.568243
3. time tuple
>>> import time >>> time.localtime() time.struct_time(tm_year=2015, tm_mon=1, tm_mday=12, tm_hour=23, tm_min=10, tm_sec=30, tm_wday=0, tm_yday=12, tm_isdst=0)
4. string
>>> import datetime >>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") '2015-01-12 23:13:08'
5. date
>>> import datetime >>> datetime.datetime.now().date() datetime.date(2015, 1, 12)
datetime基本操作
1. 獲取當(dāng)前datetime
>>> import datetime >>> datetime.datetime.now() datetime.datetime(2015, 1, 12, 23, 26, 24, 475680)
2. 獲取當(dāng)天date
>>> datetime.date.today() datetime.date(2015, 1, 12)
3. 獲取明天/前N天
明天
>>> datetime.date.today() + datetime.timedelta(days=1) datetime.date(2015, 1, 13)
三天前
>>> datetime.datetime.now() datetime.datetime(2015, 1, 12, 23, 38, 55, 492226) >>> datetime.datetime.now() - datetime.timedelta(days=3) datetime.datetime(2015, 1, 9, 23, 38, 57, 59363)
4. 獲取當(dāng)天開(kāi)始和結(jié)束時(shí)間(00:00:00 23:59:59)
>>> datetime.datetime.combine(datetime.date.today(), datetime.time.min) datetime.datetime(2015, 1, 12, 0, 0) >>> datetime.datetime.combine(datetime.date.today(), datetime.time.max) datetime.datetime(2015, 1, 12, 23, 59, 59, 999999)
5. 獲取兩個(gè)datetime的時(shí)間差
>>> (datetime.datetime(2015,1,13,12,0,0) - datetime.datetime.now()).total_seconds() 44747.768075
6. 獲取本周/本月/上月最后一天
本周
>>> today = datetime.date.today() >>> today datetime.date(2015, 1, 12) >>> sunday = today + datetime.timedelta(6 - today.weekday()) >>> sunday datetime.date(2015, 1, 18)
本月
>>> import calendar >>> today = datetime.date.today() >>> _, last_day_num = calendar.monthrange(today.year, today.month) >>> last_day = datetime.date(today.year, today.month, last_day_num) >>> last_day datetime.date(2015, 1, 31)
獲取上個(gè)月的最后一天(可能跨年)
>>> import datetime >>> today = datetime.date.today() >>> first = datetime.date(day=1, month=today.month, year=today.year) >>> lastMonth = first - datetime.timedelta(days=1)
關(guān)系轉(zhuǎn)換
幾個(gè)關(guān)系之間的轉(zhuǎn)化
Datetime Object / String / timestamp / time tuple
關(guān)系轉(zhuǎn)換例子
datetime <=> string
datetime -> string
>>> import datetime >>> datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") '2015-01-12 23:13:08'
string -> datetime
>>> import datetime >>> datetime.datetime.strptime("2014-12-31 18:20:10", "%Y-%m-%d %H:%M:%S") datetime.datetime(2014, 12, 31, 18, 20, 10)
datetime <=> timetuple
datetime -> timetuple
>>> import datetime >>> datetime.datetime.now().timetuple() time.struct_time(tm_year=2015, tm_mon=1, tm_mday=12, tm_hour=23, tm_min=17, tm_sec=59, tm_wday=0, tm_yday=12, tm_isdst=-1)
timetuple -> datetime
timetuple => timestamp => datetime [看后面datetime<=>timestamp]
datetime <=> date
datetime -> date
>>> import datetime >>> datetime.datetime.now().date() datetime.date(2015, 1, 12)
date -> datetime
>>> datetime.date.today() datetime.date(2015, 1, 12) >>> today = datetime.date.today() >>> datetime.datetime.combine(today, datetime.time()) datetime.datetime(2015, 1, 12, 0, 0) >>> datetime.datetime.combine(today, datetime.time.min) datetime.datetime(2015, 1, 12, 0, 0)
datetime <=> timestamp
datetime -> timestamp
>>> now = datetime.datetime.now() >>> timestamp = time.mktime(now.timetuple()) >>> timestamp 1421077403.0
timestamp -> datetime
>>> datetime.datetime.fromtimestamp(1421077403.0) datetime.datetime(2015, 1, 12, 23, 43, 23)
這篇文章就介紹到這了,基本上都是python的關(guān)于日期時(shí)間操作的基礎(chǔ)知識(shí)點(diǎn),需要掌握好
- Python Datetime模塊和Calendar模塊用法實(shí)例分析
- Python時(shí)間模塊datetime、time、calendar的使用方法
- python使用calendar輸出指定年份全年日歷的方法
- python 常用日期處理-- datetime 模塊的使用
- Python 處理日期時(shí)間的Arrow庫(kù)使用
- Python時(shí)間序列缺失值的處理方法(日期缺失填充)
- python+pandas+時(shí)間、日期以及時(shí)間序列處理方法
- python時(shí)間日期函數(shù)與利用pandas進(jìn)行時(shí)間序列處理詳解
- Python 常用日期處理 -- calendar 與 dateutil 模塊的使用
相關(guān)文章
requests.gPython?用requests.get獲取網(wǎng)頁(yè)內(nèi)容為空?’?’問(wèn)題
這篇文章主要介紹了requests.gPython?用requests.get獲取網(wǎng)頁(yè)內(nèi)容為空?’?’,溫行首先舉例說(shuō)明,具有一定得參考價(jià)值,需要的小伙伴可以參考一下2022-01-01Python環(huán)境配置實(shí)現(xiàn)pip加速過(guò)程解析
這篇文章主要介紹了Python環(huán)境配置實(shí)現(xiàn)pip加速過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11Python進(jìn)度條可視化之監(jiān)測(cè)程序運(yùn)行速度
Tqdm是一個(gè)快速,可擴(kuò)展的Python進(jìn)度條,可以在Python長(zhǎng)循環(huán)中添加一個(gè)進(jìn)度提示信息,用戶只需要封裝任意的迭代器即可。本文就主要介紹了通過(guò)進(jìn)度條檢測(cè)程序運(yùn)行速度,感興趣的同學(xué)可以學(xué)習(xí)一下2021-12-12Python數(shù)據(jù)分析入門(mén)之?dāng)?shù)據(jù)讀取與存儲(chǔ)
今天繼續(xù)帶大家學(xué)習(xí)python數(shù)據(jù)分析,下文中有非常詳細(xì)的代碼示例,清楚地解釋了python數(shù)據(jù)讀取與存儲(chǔ)的相關(guān)知識(shí),需要的朋友可以參考下2021-05-05關(guān)于自動(dòng)化測(cè)試框架pytest的Fixture固件
這篇文章主要介紹了關(guān)于自動(dòng)化測(cè)試框架pytest的Fixture固件,Fixture它其實(shí)就是一些函數(shù),會(huì)在執(zhí)行測(cè)試方法/測(cè)試函數(shù)前后加載運(yùn)行它們,需要的朋友可以參考下2023-03-03Python?設(shè)計(jì)模式中的創(chuàng)建型建造者模式
本文介紹Python設(shè)計(jì)模式中的創(chuàng)建型建造者模式,其表現(xiàn)為復(fù)雜對(duì)象的創(chuàng)建與表現(xiàn)相分離,這樣,同一個(gè)過(guò)程就有不同的表現(xiàn),想要?jiǎng)?chuàng)建一個(gè)由多個(gè)部分組成的對(duì)象,而且它的構(gòu)成需要一步接一步的完成。只有當(dāng)各個(gè)部分都完成了,這個(gè)對(duì)象才完整,下文相關(guān)自來(lái)哦,需要的朋友可以參考下2022-02-02