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函数作用域的LEGB顺序
May 14 Python
python直接访问私有属性的简单方法
Jul 25 Python
详解Python3操作Mongodb简明易懂教程
May 25 Python
利用python爬取斗鱼app中照片方法实例
Dec 03 Python
Python装饰器(decorator)定义与用法详解
Feb 09 Python
Django中提供的6种缓存方式详解
Aug 05 Python
浅析PEP572: 海象运算符
Oct 15 Python
Python 支持向量机分类器的实现
Jan 15 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
Feb 13 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
python3中布局背景颜色代码分析
Dec 01 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 验证码制作(网树注释思想)
2009/07/20 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
根据邮箱的域名跳转到相应的登录页面的代码
2012/02/27 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
详解angular应用容器化部署
2018/08/14 Javascript
JavaScript中toLocaleString()和toString()的区别实例分析
2018/08/14 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
读懂CommonJS的模块加载
2019/04/19 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
Python中if __name__ == "__main__"详细解释
2014/10/21 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
Python中datetime模块参考手册
2017/01/13 Python
python脚本替换指定行实现步骤
2017/07/11 Python
Python跨文件全局变量的实现方法示例
2017/12/10 Python
解决Pycharm出现的部分快捷键无效问题
2018/10/22 Python
解决python 文本过滤和清理问题
2019/08/28 Python
Python的形参和实参使用方式
2019/12/24 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
香港连卡佛百货官网:Lane Crawford
2019/09/04 全球购物
孝敬父母的演讲稿
2014/05/14 职场文书
团队队名口号大全
2014/06/06 职场文书
励志演讲稿300字
2014/08/21 职场文书
2015元旦节寄语
2014/12/08 职场文书
银行稽核岗位职责
2015/04/13 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
工程进度款催款函
2015/06/24 职场文书
2016新年晚会开场白
2015/12/03 职场文书