python 实现仿微信聊天时间格式化显示的代码
作者:xiaopengyaonixi
这篇文章主要介绍了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时间格式化显示内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!