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 实现仿微信聊天时间格式化显示的代码的主要内容,如果未能解决你的问题,请参考以下文章

Python 实现仿微信聊天时间格式化显示的代码

Android 仿微信聊天图片

仿微信聊天界面

微信小程序-模仿绘制聊天界面

如何在网页端实现一个仿微信的聊天窗口

请教仿微信聊天气泡效果 在ios中是怎么实现的