【问题标题】:How to convert hour into seconds?如何将小时转换为秒?
【发布时间】:2020-11-13 08:37:59
【问题描述】:

这里例如,如果对象的小时为4hr,那么我想以秒为单位进行转换,这应该是14400

HOURS = (
        ('1', '1 hrs'),
        ('2', '2 hrs'),
        ('4', '4 hrs'),
        ('6', '6 hrs'),
        ('12', '12 hrs'),
        ('24', '24 hrs'),
    )
   
    hour = models.CharField(max_length=5, choices=HOURS)

views.py

obj = MyModel.objects.get(pk=pk)
hour = obj.hour 
# now i Want to convert into seconds.
total_seconds = hour.total_seconds() ??

【问题讨论】:

  • models.PositiveSmallIntegerField 是这里字段类型的更好选择。

标签: django datetime django-views


【解决方案1】:

obj.hour 是一个字符串,所以你不能使用.total_seconds() 或类似的东西。您可以使用int(…) 将数字转换为int,然后将其与3600 相乘(因为一小时等于3'600 秒):

total_seconds = int(hour) * 3600

然而,在这里使用IntegerField [Django-doc] 可能更有意义:

class MyModel(models.Model):
    HOURS = (
        (1, '1 hrs'),
        (2, '2 hrs'),
        (4, '4 hrs'),
        (6, '6 hrs'),
        (12, '12 hrs'),
        (24, '24 hrs'),
    )
   
    hour = models.IntegerField(choices=HOURS)

这将以数字形式存储值,因此您不再需要调用int(…)

【讨论】:

    猜你喜欢
    • 2014-10-01
    • 2021-10-29
    • 1970-01-01
    • 2012-06-15
    • 2015-06-02
    相关资源
    最近更新 更多