Python 实现仿微信聊天时间格式化显示的代码
本文介绍如何使用 Python 实现仿微信聊天界面的时间格式化显示。通过判断年份、月份、日期及星期,动态生成如“昨天 14:30”或“周一 09:00”等简洁的时间字符串,提升用户体验。
Python 实现仿微信聊天时间格式化显示
实现该时间格式化功能的核心算法逻辑如下:
"""
1.如果不在同一年 '%Y年%m月%d日'
2.如果在同一年
2.1 如果在同一个月
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
总结
到此这篇关于 python 实现仿微信聊天时间格式化显示的代码的文章就介绍到这了,更多相关python时间格式化显示内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









