python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼
更新時(shí)間:2020年04月17日 11:40:33 作者:xiaopengyaonixi
這篇文章主要介紹了python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
時(shí)間格式化所使用的算法為:
""" 1.如果不在同一年 '%Y年%m月%d日' 2.如果在同一年 2.1 如果在同一個(gè)月 2.1.1 如果在同一天 '%H:%M' 2.1.2 如果是昨天 '昨天 %H:%M' 2.1.2 如果在同一周 '周x 00:00' 去除周日 的情況 2.2 否則 '%m月%d日 %H:%M' """
具體的python代碼如下:
def fmtdt_str(dtstr, fmt): result = "" locale.setlocale(locale.LC_CTYPE, 'chinese') curtime = datetime.now() curYear = curtime.year curMonth = curtime.month str_time = datetime.strptime(dtstr, fmt) if str_time.year == curYear: if str_time.month == curMonth: days_interval = (curtime.day - str_time.day) if days_interval == 0: result = str_time.strftime("%H:%M") elif days_interval == 1: result = str_time.strftime("昨天 %H:%M") else: if curtime.strftime("%W") == str_time.strftime("%W"): week_str = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'] str_weekno = str_time.weekday() if str_weekno == 0: result = str_time.strftime("%m月%d日 %H:%M") else: result = str_time.strftime(week_str[str_weekno] + " %H:%M") else: result = str_time.strftime("%m月%d日 %H:%M") else: result = str_time.strftime("%m月%d日 %H:%M") else: result = str_time.strftime("%Y年%m月%d日") return result
總結(jié)
到此這篇關(guān)于python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼的文章就介紹到這了,更多相關(guān)python時(shí)間格式化顯示內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:
- Python獲取、格式化當(dāng)前時(shí)間日期的方法
- 使用Python將字符串轉(zhuǎn)換為格式化的日期時(shí)間字符串
- Python之time模塊的時(shí)間戳,時(shí)間字符串格式化與轉(zhuǎn)換方法(13位時(shí)間戳)
- Python格式化日期時(shí)間操作示例
- python日期時(shí)間轉(zhuǎn)為字符串或者格式化輸出的實(shí)例
- python 時(shí)間戳與格式化時(shí)間的轉(zhuǎn)化實(shí)現(xiàn)代碼
- python中日期和時(shí)間格式化輸出的方法小結(jié)
- Python datetime時(shí)間格式化去掉前導(dǎo)0
- Python 時(shí)間操作例子和時(shí)間格式化參數(shù)小結(jié)
- python數(shù)據(jù)清洗中的時(shí)間格式化實(shí)現(xiàn)
相關(guān)文章
對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解
今天小編就為大家分享一篇對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11python中__init__方法知識(shí)點(diǎn)詳解
Python中常會(huì)看到在很多類中都有一個(gè)__init__函數(shù),該函數(shù)有什么作用,又該如何使用呢,下面這篇文章主要給大家介紹了關(guān)于python中__init__知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2023-04-04python enumerate函數(shù)的使用方法總結(jié)
這篇文章主要介紹了python enumerate使用方法總結(jié),enumerate函數(shù)用于遍歷序列中的元素以及它們的下標(biāo),有興趣的可以了解一下2017-11-11對(duì)python讀寫文件去重、RE、set的使用詳解
今天小編就為大家分享一篇對(duì)python讀寫文件去重、RE、set的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12