Django Admin DateTimeField 显示 24 小时格式时间

Django Admin DateTimeField Showing 24hr format time

我尝试了 google,但我没有找到解决方案。在 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 的新手。请帮忙。

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

看看 Django docs 你会了解像这样的格式 这个

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

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

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

这是 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 设置。