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 16 Python
详谈Python2.6和Python3.0中对除法操作的异同
Apr 28 Python
python+tkinter编写电脑桌面放大镜程序实例代码
Jan 16 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
对Python中的@classmethod用法详解
Apr 21 Python
Django后台admin的使用详解
Jul 08 Python
python实现生成Word、docx文件的方法分析
Aug 30 Python
对tensorflow中的strides参数使用详解
Jan 04 Python
使用TensorFlow直接获取处理MNIST数据方式
Feb 10 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
Feb 14 Python
解决pytorch 交叉熵损失输出为负数的问题
Jul 07 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 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 URL跳转代码 减少外链
2011/06/25 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP curl实现抓取302跳转后页面的示例
2014/07/04 PHP
php图片上传类 附调用方法
2016/05/15 PHP
Zend Framework校验器Zend_Validate用法详解
2016/12/09 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP 获取客户端 IP 地址的方法实例代码
2018/11/11 PHP
js时间日期和毫秒的相互转换
2013/02/22 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
jQuery 取值、赋值的基本方法整理
2014/03/31 Javascript
搞定immutable.js详细说明
2016/05/02 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
JS组件系列之Gojs组件 前端图形化插件之利器
2017/11/29 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
vue项目前端埋点的实现
2019/03/06 Javascript
Javascript执行上下文顺序的深入讲解
2020/11/04 Javascript
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python使用MONGODB入门实例
2015/05/11 Python
Python学习思维导图(必看篇)
2017/06/26 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
Python操作Excel的学习笔记
2021/02/18 Python
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
Oral-B荷兰:牙医最推荐的品牌
2020/02/25 全球购物
C#软件工程师英语面试题
2015/06/07 面试题
毕业生自我推荐
2013/11/04 职场文书
《小池塘》教学反思
2014/02/28 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
爱国卫生月活动总结范文
2014/04/25 职场文书
2014年综治宣传月活动总结
2014/04/28 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
pytorch 实现变分自动编码器的操作
2021/05/24 Python
Go获取两个时区的时间差
2022/04/20 Golang