Python 实现仿微信聊天时间格式化显示的代码
Posted 程序员朱鹏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 实现仿微信聊天时间格式化显示的代码相关的知识,希望对你有一定的参考价值。
本文主要介绍了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相关学习资源,可扫下方领取。
以上是关于Python 实现仿微信聊天时间格式化显示的代码的主要内容,如果未能解决你的问题,请参考以下文章