【问题标题】:Django Admin DateTimeField Showing 24hr format timeDjango Admin DateTimeField 显示 24 小时格式时间
【发布时间】:2023-03-20 09:08:01
【问题描述】:

我在谷歌上试过,但没有找到解决方案。在Django 管理方面,我正在显示开始日期结束日期以及时间。但时间是24 hr 格式,我想以12 hr 格式显示它

class CompanyEvent(models.Model):
    title = models.CharField(max_length=255)
    date_start = models.DateTimeField('Start Date')
    date_end = models.DateTimeField('End Date')
    notes = models.CharField(max_length=255)

    class Meta:
        verbose_name = u'Company Event'
        verbose_name_plural = u'Company Events'

    def __unicode__(self):
        return "%s (%s : %s)" % (self.title, self.date_start.strftime('%m/%d/%Y'), self.date_end)

我还发现了this,但这对我没有帮助。

我是 pythondjango 的新手。请帮忙。

【问题讨论】:

  • 我认为它会从您的计算机中捕获默认值。因此,如果您所在的地区是 24 小时制,它会这样显示。您是否尝试过更改您的区域格式?

标签: python django python-2.7 django-models time-format


【解决方案1】:

这是 django 的设置问题,而不是模型: settings doc.

MyProject/MySite/settings.py 中检查您的TIME_INPUT_FORMATS 并根据需要添加:

TIME_INPUT_FORMATS = [
    '%I:%M:%S %p',  # 6:22:44 PM
    '%I:%M %p',  # 6:22 PM
    '%I %p',  # 6 PM
    '%H:%M:%S',     # '14:30:59'
    '%H:%M:%S.%f',  # '14:30:59.000200'
    '%H:%M',        # '14:30'
]

如果更改列表页面上的时间格式显示仍然错误,请检查您的LANGUAGE_CODEUSE_L10N 设置。

【讨论】:

    【解决方案2】:

    看看Django docs你会知道格式像 这个

    '%Y-%m-%d %H:%M:%S'
    

    其中 %H 是小时,带前导零的 24 小时格式,要获得 12 小时格式,请将其替换为 %h

    所以你必须使用- '%Y-%m-%d %h:%M:%S'

    【讨论】:

      【解决方案3】:

      django 默认显示 24 小时格式,如果要自定义需要指定 12 小时格式。让我知道这是否有效

      class CompanyEvent(models.Model):
      title = models.CharField(max_length=255)
      date_start = models.DateTimeField('Start Date')
      date_end = models.DateTimeField('End Date')
      notes = models.CharField(max_length=255)
      
      class Meta:
          verbose_name = u'Company Event'
          verbose_name_plural = u'Company Events'
      
      def __unicode__(self):
          return "%s (%s : %s)" % (self.title, self.date_start.strftime('%m/%d/%Y %I:%M %p'), self.date_end)
      

      【讨论】:

      • 它适用于列表,但不是详细或编辑页面。
      • 检查我提供的图像,该图像是编辑视图,我在 24 小时内获得时间格式。
      猜你喜欢
      • 2016-10-21
      • 2023-03-07
      • 2012-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-01
      • 2021-11-27
      • 1970-01-01
      相关资源
      最近更新 更多