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

yipeiwu_com5年前Python基础

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))

知识点扩展:django 将model转换为字典

from django.forms.models import model_to_dict
from projects.models import ProjectInformation

site = ProjectInformation.objects.get(id=6)
dict = model_to_dict(site)
dict
{'CRFmethod': '',
 'EDCprovider': '',
 'acceptancenum': '',
 'add_time': datetime.datetime(2017, 4, 20, 8, 4, 42, 751202, tzinfo=<UTC>),
 'begindate': None,
 'clinicalassis': '',
 'clinicalnum': '',
 'created_by': '',
 'created_date': None,
 'enddate': None,
 'ethicsreviewdate': None,
 'ethicsreviewpers': '',
 'ethicsreviewres': '',
 'ethicsreviewunit': '',
 'id': 6,
 'isimport': None,
 'leaderunit': None,
 'localcases': None,
 'medicalequipment': '',
 'mequipmenttype': '',
 'multicenter': '',
 'plannum': '',
 'proenname': '爱上地方',
 'proname': '打士大夫',
 'prostatus': '',
 'prosummary': '',
 'protype': '打是否',
 'regstudy': '是',
 'reportdate': None,
 'reportnum': '',
 'reportversion': '',
 'researchdesign': '',
 'researchtype': '',
 'responsible': '',
 'studytype': '器械类',
 'telephonenum': None,
 'totalcases': None,
 'treatmenttype': None,
 'unitnum': None}

总结

以上所述是小编给大家介绍的Django将秒转换为xx天xx时xx分,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

Python ldap实现登录实例代码

下面一段代码是小编给大家介绍的Python ldap实现登录实例代码,一起看看吧 ldap_config = { 'ldap_path': 'ldap://xx.xx.xx.xx...

Python直接赋值、浅拷贝与深度拷贝实例分析

Python直接赋值、浅拷贝与深度拷贝实例分析

本文实例讲述了Python直接赋值、浅拷贝与深度拷贝。分享给大家供大家参考,具体如下: 直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内...

opencv3/Python 稠密光流calcOpticalFlowFarneback详解

opencv3/Python 稠密光流calcOpticalFlowFarneback详解

光流是由物体或相机的运动引起的图像对象在两个连续帧之间的视在运动模式.光流方法计算在t和 t+Δtt+Δt时刻拍摄的两个图像帧之间的每个像素的运动位置。这些方法被称为差分,因为它们基于图...

Python中三元表达式的几种写法介绍

要介绍Python的三元表达式,可以先看看其他编程语言比如C,JAVA中应用: public class java { public static void main(String...

python进程和线程用法知识点总结

python进程和线程用法知识点总结

今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任...