转换以来的Python时间戳

问题描述:

我有一个数据库列保存UNIX格式的时间戳,我正在寻找一种方法来比较这些时间戳与现在时间的时间戳,并打印出自从此刻以来的秒数/小时数/天数原始时间戳。转换以来的Python时间戳

只是为了确认我不是在寻找从148975745603/17/2017 @ 1:30pm的转换。我正在寻找从14897574561m 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 

所以,你可以添加你的首选格式,如果需要,以类似的方式也加入天/月。

+0

谢谢你,这工作完美! –