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 爬虫出现403禁止访问错误详解
Mar 11 Python
Python 中urls.py:URL dispatcher(路由配置文件)详解
Mar 24 Python
sublime text 3配置使用python操作方法
Jun 11 Python
python模仿网页版微信发送消息功能
Feb 24 Python
python查询mysql,返回json的实例
Mar 26 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
Jul 07 Python
python中property属性的介绍及其应用详解
Aug 29 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
Python常用编译器原理及特点解析
Mar 23 Python
python网络编程:socketserver的基本使用方法实例分析
Apr 09 Python
Python调用Redis的示例代码
Nov 24 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
第十三节--对象串行化
2006/11/16 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
FireFox JavaScript全局Event对象
2009/06/14 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
2010/04/30 Javascript
客户端 使用XML DOM加载json数据的方法
2010/09/28 Javascript
js DOM的学习笔记
2011/12/22 Javascript
基于jQuery的获取标签名的代码
2012/07/16 Javascript
原生JS操作网页给p元素添加onclick事件及表格隔行变色
2013/12/01 Javascript
node.js操作mongoDB数据库示例分享
2014/11/26 Javascript
javascript和jquery实现设置和移除文本框默认值效果代码
2015/01/13 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
利用Node.js编写跨平台的spawn语句详解
2017/02/12 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
JS实现的抛物线运动效果示例
2018/01/30 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
JavaScript实现猜数字游戏
2020/05/20 Javascript
名片管理系统python版
2018/01/11 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
利用HTML5+CSS3实现3D转换效果实例详解
2017/05/02 HTML / CSS
css3 矩阵的使用详解
2018/03/20 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
法国最大的在线眼镜店:EasyLunettes
2019/08/26 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
最新会计专业求职信范文
2014/01/28 职场文书
cf收人广告词大全
2014/03/14 职场文书
优秀班组长事迹
2014/05/31 职场文书
生产现场禁烟通知
2015/04/23 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书