转换以来的Python时间戳
问题描述:
我有一个数据库列保存UNIX格式的时间戳,我正在寻找一种方法来比较这些时间戳与现在时间的时间戳,并打印出自从此刻以来的秒数/小时数/天数原始时间戳。转换以来的Python时间戳
只是为了确认我不是在寻找从1489757456
到03/17/2017 @ 1:30pm
的转换。我正在寻找从1489757456
到1m ago/2hr ago/3d ago
等的转换。
答
datetime.datetime.fromtimestamp()
到UNIX时间戳转换为datetitme
datetime.datetime.now()
来获得当前日期时间
dateutil.relativedelta.relativedelta(dt1, dt2, ...)
相对于闰年,以获得差异。
参考:
答
功能,像这样将生成小时,从秒数分钟和秒输出。
def secondsToHms(d):
d = int(d);
h = math.floor(d/3600)
m = math.floor(d % 3600/60)
s = math.floor(d % 3600 % 60)
htext = " hour, " if h == 1 else " hours, "
hDisplay = str(h) + htext if h > 0 else ""
mtext = " minute, " if m == 1 else " minutes, "
mDisplay = str(m) + mtext if m > 0 else ""
stext = " second" if s == 1 else " seconds"
sDisplay = str(s) + stext if s > 0 else ""
return hDisplay + mDisplay + sDisplay;
例如:
secondsToHms(344334)
>> 95.0 hours, 38.0 minutes, 54.0 seconds
所以,你可以添加你的首选格式,如果需要,以类似的方式也加入天/月。
谢谢你,这工作完美! –