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 相关文章推荐
在Django的视图中使用数据库查询的方法
Jul 16 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
python把1变成01的步骤总结
Feb 27 Python
Python3模拟登录操作实例分析
Mar 12 Python
详解如何管理多个Python版本和虚拟环境
May 10 Python
Python帮你识破双11的套路
Nov 11 Python
python将数组n等分的实例
Dec 02 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
10款最佳Python开发工具推荐,每一款都是神器
Oct 15 Python
python numpy中setdiff1d的用法说明
Apr 22 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 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中变量及部分适用方法
2008/03/27 PHP
php出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
php往mysql中批量插入数据实例教程
2018/12/12 PHP
详解php命令注入攻击
2019/04/06 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
JS 各种网页尺寸判断实例方法
2013/04/18 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
JS实现FLASH幻灯片图片切换效果的方法
2015/03/04 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
js实现微信分享代码
2020/10/11 Javascript
JS判断iframe是否加载完成的方法
2016/08/03 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
python解析xml文件操作实例
2014/10/05 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Python中垃圾回收和del语句详解
2018/11/15 Python
基于Python绘制个人足迹地图
2020/06/01 Python
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
俄罗斯GamePark游戏商店网站:购买游戏、游戏机和配件
2020/03/13 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
银行求职信个人范文
2013/12/16 职场文书
春节活动策划方案
2014/01/24 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
创业计划书之农家乐
2019/10/09 职场文书