python 實(shí)現(xiàn)仿微信聊天時(shí)間格式化顯示的代碼
時(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)文章
詳解Python中數(shù)據(jù)的多種存儲(chǔ)形式
這篇文章主要介紹了Python中數(shù)據(jù)的多種存儲(chǔ)形式,主要有JSON?文件存儲(chǔ)、CSV?文件存儲(chǔ)、關(guān)系型數(shù)據(jù)庫存儲(chǔ)及非關(guān)系型數(shù)據(jù)庫存儲(chǔ),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05
Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)
俄羅斯方塊,作為是一款家喻戶曉的游戲,陪伴70、80甚至90后,度過無憂的兒時(shí)歲月,它上手簡單能自由組合、拼接技巧也很多。本文就來用Python中的Pygame模塊實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下2022-12-12
python入門之基礎(chǔ)語法學(xué)習(xí)筆記
學(xué)習(xí)python過程中需要了解的一些基礎(chǔ)語法特整理一下方便更開始接觸python的朋友2020-02-02
1 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器
FTP 服務(wù)器,在此之前我都是使用Linux的vsftpd軟件包來搭建FTP服務(wù)器的,現(xiàn)在發(fā)現(xiàn)了利用pyftpdlib可以更加簡單的方法即可實(shí)現(xiàn)FTP服務(wù)器的功能。下面小編給大家?guī)砹? 行 Python 代碼快速實(shí)現(xiàn) FTP 服務(wù)器,需要的朋友參考下2018-01-01
pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例
這篇文章主要介紹了pyecharts調(diào)整圖例與各板塊的位置間距實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python處理application/json錯(cuò)誤的方法詳解
這篇文章主要為大家詳細(xì)介紹了python使用httpx_sse調(diào)用sse流式接口對(duì)響應(yīng)格式為application/json的錯(cuò)誤信息處理的相關(guān)知識(shí),需要的可以了解下2025-02-02

