小编这次要给大家分享的是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如何实现仿微信聊天时间格式化显示的文章,如果觉得文章内容写得不错的话,可以把它分享出去给更多人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。