当前位置: 首页 > 后台 > Python

python实现时间显示几秒,几分钟,几小时前

作者: admin 2019-11-29 19:39:58 阅读(260) 评论(0)

实现思路比较清晰,先获取发布时间和现在时间,将这两个值转换成秒级时间戳,根据两个时间戳的差值,再进行分类讨论,细分为刚刚,几小时前,几天前以及年月日,具体代码如下。最终的效果参考了微信朋友圈,当发表日期距离今天超过30天,直接显示发表时间的年月日。

# value 为 python 中的 datetime 类型数据  
def released_time(value):  
    """自定义发布时间过滤器"""  
    created_time = value.timestamp()  # 把发布时间转换成秒级时间戳  
    now_time = datetime.now().timestamp()  # 获取当前时间戳(秒级)  
    duration = now_time - created_time  
    if duration < 60:  # 小于一分钟  
        display_time = "刚刚"  
    elif duration < 60 * 60:  # 小于一小时  
        display_time = str(int(duration / 60)) + "分钟前"  
    elif duration < 60 * 60 * 24:  # 小于24小时  
        display_time = str(int(duration / 60 / 60)) + "小时前"  
    elif duration < 60 * 60 * 24 * 30:  # 小于30天  
        display_time = str(int(duration / (60 * 60 * 24))) + "天前"  
    else:  
        display_time = value.strftime('%Y-%m-%d')  # 大于30天  
    return display_time  # 返回显示结果  
0 条评论