当我使用以下代码时:
created = models.DateTimeField('date published')
它以这种方式显示时间
23:12:06
取代
11:12:06
我希望它能以12小时制显示时间,而不是24小时制。此外,当我按下“现在”小部件时,时间会比实际时间慢4分钟。任何帮助都将不胜感激。
当我使用以下代码时:
created = models.DateTimeField('date published')
23:12:06
11:12:06
我希望它能以12小时制显示时间,而不是24小时制。此外,当我按下“现在”小部件时,时间会比实际时间慢4分钟。任何帮助都将不胜感激。
created = TimeField(widget=TimeInput(format='%I:%M:%S'))
或者
created = TimeField(input_formats=('%I:%M:%S'))
'%H:%M:%S', # '14:30:59'
'%H:%M:%S.%f', # '14:30:59.000200'
'%H:%M', # '14:30'
date
'%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'
同时请参阅官方文档
Django内置日期格式化,如下:
created = DateTimeField(input_formats=['%Y-%m-%d %I:%M %p'])
以下是有关这些字母的完整速查表:
http://blog.tkbe.org/archive/date-filter-cheat-sheet/
因此,要实现12小时制,请使用'h'或'g',具体取决于您是否希望有前导零。
文档中也提到了django: https://docs.djangoproject.com/en/dev/ref/forms/fields/#datetimefield
这是dev版本的,我不知道你正在使用哪个版本
时间比实际时间慢4分钟
您的设置中的TIME_ZONE是否正确?
添加TIME_INPUT_FORMATS = ('%I:%M %p',)
到
settings.py