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


Posted in Python onApril 17, 2020

时间格式化所使用的算法为:

"""
    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 相关文章推荐
py中的目录与文件判别代码
Jul 16 Python
python检查序列seq是否含有aset中项的方法
Jun 30 Python
浅谈python import引入不同路径下的模块
Jul 11 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
Jun 26 Python
Python二进制文件读取并转换为浮点数详解
Jun 25 Python
python使用装饰器作日志处理的方法
Jul 11 Python
python批量读取文件名并写入txt文件中
Sep 05 Python
详解Django配置优化方法
Nov 18 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
Python序列化pickle模块使用详解
Mar 05 Python
python批量修改文件名的示例
Sep 27 Python
Python3+Django get/post请求实现教程详解
Feb 16 Python
python matplotlib实现将图例放在图外
Apr 17 #Python
python 比较字典value的最大值的几种方法
Apr 17 #Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 #Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 #Python
Python 多线程共享变量的实现示例
Apr 17 #Python
matplotlib 对坐标的控制,加图例注释的操作
Apr 17 #Python
matplotlib quiver箭图绘制案例
Apr 17 #Python
You might like
PHP 5.0对象模型深度探索之对象复制
2008/03/27 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
DOM基础教程之使用DOM控制表格
2015/01/20 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
jquery+php随机生成红包金额数量代码分享
2015/08/27 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
BootStrap 下拉菜单点击之后不会出现下拉菜单(下拉菜单不弹出)的解决方案
2016/12/14 Javascript
JavaScript实现经典排序算法之插入排序
2016/12/28 Javascript
js实现手机发送验证码功能
2017/03/13 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
Python中文件遍历的两种方法
2014/06/16 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
python3.6连接MySQL和表的创建与删除实例代码
2017/12/28 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
使用Python做垃圾分类的原理及实例代码附源码
2019/07/02 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
Jupyter notebook运行Spark+Scala教程
2020/04/10 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
财务人员求职自荐书范文
2014/02/10 职场文书
夏季药店促销方案
2014/08/22 职场文书
英文商务邀请函范文
2015/01/31 职场文书
教师岗位职责
2015/02/03 职场文书
情况说明书怎么写
2015/10/08 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书