当我使用以下
时created = models.DateTimeField('date published')
它显示这样的时间
23:12:06
而不是
11:12:06
我希望它在12小时内显示时间而不是24小时。当我按下现在的小部件时,时间落后4分钟。任何帮助都会被欣赏
答案 0 :(得分:1)
Django有内置的日期格式,如下所示:
created = DateTimeField(input_formats=['%Y-%m-%d %I:%M %p'])
这是关于这些字母如何工作的完整备忘单:
http://blog.tkbe.org/archive/date-filter-cheat-sheet/
因此,要实施12小时格式,请使用' h'或者' g'取决于你是否想要有前导零
django doc中也提到了: https://docs.djangoproject.com/en/dev/ref/forms/fields/#datetimefield
这是开发版,我不知道你正在使用哪一个
时间落后4分钟
您的TIME_ZONE设置是否正确?
答案 1 :(得分:0)
您可以更改时间字段的输入格式,如下所示:
created = TimeField(widget=TimeInput(format='%I:%M:%S'))
或
created = TimeField(input_formats=('%I:%M:%S'))
%I表示12小时时钟格式,而%H表示24小时时钟格式。
在django中我们有一些定义的格式<强>时间强>
'%H:%M:%S', # '14:30:59'
'%H:%M:%S.%f', # '14:30:59.000200'
'%H:%M', # '14:30'
<强>日期强>
'%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', # '2006-10-25', '10/25/2006', '10/25/06'
'%b %d %Y', '%b %d, %Y', # 'Oct 25 2006', 'Oct 25, 2006'
'%d %b %Y', '%d %b, %Y', # '25 Oct 2006', '25 Oct, 2006'
'%B %d %Y', '%B %d, %Y', # 'October 25 2006', 'October 25, 2006'
'%d %B %Y', '%d %B, %Y', # '25 October 2006', '25 October, 2006'
<强>日期时间强>
'%Y-%m-%d %H:%M:%S', # '2006-10-25 14:30:59'
'%Y-%m-%d %H:%M:%S.%f', # '2006-10-25 14:30:59.000200'
'%Y-%m-%d %H:%M', # '2006-10-25 14:30'
'%Y-%m-%d', # '2006-10-25'
'%m/%d/%Y %H:%M:%S', # '10/25/2006 14:30:59'
'%m/%d/%Y %H:%M:%S.%f', # '10/25/2006 14:30:59.000200'
'%m/%d/%Y %H:%M', # '10/25/2006 14:30'
'%m/%d/%Y', # '10/25/2006'
'%m/%d/%y %H:%M:%S', # '10/25/06 14:30:59'
'%m/%d/%y %H:%M:%S.%f', # '10/25/06 14:30:59.000200'
'%m/%d/%y %H:%M', # '10/25/06 14:30'
'%m/%d/%y', # '10/25/06'
您可以使用这些格式自定义字段
答案 2 :(得分:0)
添加TIME_INPUT_FORMATS = ('%I:%M %p',)
到
settings.py