Django Admin DateTimeField показывает время формата 24hr

я попробовал на 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)

Я также узнал этой но это не помогает мне.

Я новичок в python и django. Пожалуйста помочь.

Screen Shot

3 ответов


Это вопрос для настроек django, а не для модели: настройки doc.

Проверьте TIME_INPUT_FORMATS на MyProject/MySite/settings.py и добавьте это по мере необходимости:

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_CODE и USE_L10N настройки.


посмотри Django docs вы узнаете формате это

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

здесь %H это час, 24-часовой формат с ведущими нулями, чтобы получить 12-часовой формат, замените его на %h

поэтому вы должны использовать- '%Y - %m - %d %h:%M:%S'


по умолчанию 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)