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 相关文章推荐
Python实现简单状态框架的方法
Mar 19 Python
Python sys.argv用法实例
May 28 Python
探究python中open函数的使用
Mar 01 Python
Zabbix实现微信报警功能
Oct 09 Python
python3利用tcp实现文件夹远程传输
Jul 28 Python
python中文编码与json中文输出问题详解
Aug 24 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
Python列表与元组的异同详解
Jul 02 Python
pandas 层次化索引的实现方法
Jul 06 Python
Python中有几个关键字
Jun 04 Python
Numpy(Pandas)删除全为零的列的方法
Sep 11 Python
python实现canny边缘检测
Sep 14 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
PHP4.04简明安装
2006/10/09 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP中的类型约束介绍
2015/05/11 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
用javascript操作xml
2006/11/04 Javascript
用JS实现一个页面多个css样式实现
2008/05/29 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
JS实现闪动的title消息提醒效果
2014/06/20 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
Angular实现跨域(搜索框的下拉列表)
2017/02/16 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
Django实现图片文字同时提交的方法
2015/05/26 Python
python追加元素到列表的方法
2015/07/28 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
python selenium UI自动化解决验证码的4种方法
2018/01/05 Python
python2.7+selenium2实现淘宝滑块自动认证功能
2018/02/24 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
2019/09/30 Python
二年级评语大全
2014/04/23 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
教师节学生演讲稿
2014/09/03 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
三年级学生评语大全
2014/12/26 职场文书
初中中等生评语
2014/12/29 职场文书
个人工作表现自我评价
2015/03/06 职场文书
外贸采购员岗位职责
2015/04/03 职场文书
法律意见书范文
2015/05/20 职场文书