我有一个以UNIX格式保存时间戳的数据库列,我正在寻找一种方法,将这些时间戳与当前时间的时间戳进行比较,并打印自原始时间戳以来的秒数/小时/天。
只是为了确认我不是在寻找从1489757456
到03/17/2017 @ 1:30pm
的转换。我正在寻找从1489757456
到1m ago/2hr ago/3d ago
等的转换。
答案 0 :(得分:0)
datetime.datetime.fromtimestamp()
将您的unix时间戳转换为datetitme
datetime.datetime.now()
获取当前日期时间
dateutil.relativedelta.relativedelta(dt1, dt2, ...)
了解闰年的差异。
<强>参考强>:
答案 1 :(得分:0)
这样的功能将从秒数生成小时,分钟和秒的输出。
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
因此,您可以添加首选格式,并在需要时以类似方式添加天/月。