Django Admin DateTimeField Shows Time In 24 Hours

I tried on google but I did not find a solution. On the Djangoadmin side, I show the start date and end date with time. But time is in format 24 hr, and I want to display it in format12 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)

I also found out this one , but that doesn't help me.

I am new to pythonand Django. Please help.

Screen shot

+6
source share
3 answers

This is a django settings issue, not a model: doc settings .

Check TIME_INPUT_FORMATSin MyProject/MySite/settings.pyand add this if necessary:

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.

+9

Django docs, ,

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

% H - , 24- , 12- , % h

, - '% Y-% m-% d% h:% M:% S'

+7

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

All Articles