案例
实现朋友圈时间功能,发布时间少于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)