python 日期时间差、日期时间减法、微信朋友圈发布日期计算

案例

实现朋友圈时间功能,发布时间少于3分钟,显示 刚刚发布

发布时间少于1小时,显示 n分钟前发布

发布时间少于1天,显示 n小时前发布

发布时间少于2天,显示 昨天发布

发布时间少于3天,显示 前天发布

剩下显示 月月-日日 发布


import datetime

# 2023-04-26 11:25:00 表示朋友圈发布的时间
pyq = datetime.datetime.strptime("2023-04-22 10:40:00", '%Y-%m-%d %H:%M:%S')

# print(pyq)
# print(type(pyq))  # <class 'datetime.datetime'>

# current time 当前时间
cTime = datetime.datetime.now()

# 当前时间减去朋友圈发布的时间,称之为时间差
d = cTime - pyq # timedelta
# print( d )
# print( type(d) )

d = d.total_seconds()  # 将时间差换算成秒,方便计算
# print( d )

# print ( int (d/60 ) ,"分钟前") # 时间差除以60,换算成分

res = ""
if d/60 < 3:
    res = "刚刚发布"
elif d/60 < 59:
    res = str( int(d/60) ) + " 分前发布"
elif d/60/60 < 24: # 当天发布的,且大于1小时
    res = str( int( d/60/60 )) + " 小时前发布"
elif int(d/60/60/24) == 1 : # 昨天发布的
    res = "昨天发布"
elif  int(d/60/60/24) == 2 : # 前天发布的
    res = "前天发布"
else:
    res = pyq.strftime("%m-%d") + "发布"

print(res)

原文出处:https://malaoshi.top/show_1IX5O6hO4Mt2.html