PYTHON基礎(chǔ)-時(shí)間日期處理小結(jié)
步驟:
1. 掌握幾種對(duì)象及其關(guān)系
2. 了解每類(lèi)對(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)文章
Python網(wǎng)絡(luò)編程之ZeroMQ知識(shí)總結(jié)
這篇文章主要介紹了Python網(wǎng)絡(luò)編程之ZeroMQ知識(shí)總結(jié),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04
Python調(diào)用ChatGPT的API實(shí)現(xiàn)文章生成
最近ChatGPT大火,在3.5版本后開(kāi)放了接口API,所以很多人開(kāi)始進(jìn)行實(shí)操,這里我就用python來(lái)為大家實(shí)現(xiàn)一下,如何調(diào)用API并提問(wèn)返回文章的說(shuō)明2023-03-03
Python scikit-learn 做線性回歸的示例代碼
本篇文章主要介紹了Python scikit-learn 做線性回歸的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
新年福利來(lái)一波之Python輕松集齊五福(demo)
這篇文章主要介紹了新年福利來(lái)一波之Python輕松集齊五福的小demo,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
Python元類(lèi)的進(jìn)階應(yīng)用深度探索
這篇文章主要介紹了Python元類(lèi)的進(jìn)階應(yīng)用深度探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹
這篇文章主要介紹了python探索之BaseHTTPServer-實(shí)現(xiàn)Web服務(wù)器介紹,小編覺(jué)得還是挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。2017-10-10

