Django将秒转换为xx天xx时xx分

from django.utils.translation import ngettext_lazy as _n

def humanize_seconds(secs):
    a_day = 86400
    an_hour = 3600
    a_minute = 60
    timetot = ''
    total_secs = secs
    if secs > a_day:  # 60sec * 60min * 24hrs
        days = int(secs // a_day)
        # timetot += "{} {}".format(int(days), _('days'))
        timetot += _n('%(num)s day', '%(num)s days', days) % {'num': days}
        secs = secs - days * a_day

    if secs > an_hour:
        hrs = int(secs // an_hour)
        # timetot += " {} {}".format(int(hrs), _('hours'))
        timetot += ' '
        timetot += _n('%(num)s hour', '%(num)s hours', hrs) % {'num': hrs}
        secs = secs - hrs * an_hour

    if secs > a_minute and total_secs < a_day:
        mins = int(secs // a_minute)
        timetot += ' '
        timetot += _n('%(num)s minute', '%(num)s minutes', mins) % {'num': mins}
        secs = secs - mins * a_minute

    if secs > 0 and total_secs < an_hour:
        secs = int(secs)
        timetot += ' '
        timetot += _n('%(num)s second', '%(num)s seconds', secs) % {'num': secs}
    return timetot

if __name__ == "__main__":
    print(humanize_seconds(360200))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值