如何将Django时间显示为12小时制而不是24小时制

4

当我使用以下代码时:

created = models.DateTimeField('date published')

它以这种方式显示时间
23:12:06

取代
11:12:06

我希望它能以12小时制显示时间,而不是24小时制。此外,当我按下“现在”小部件时,时间会比实际时间慢4分钟。任何帮助都将不胜感激。


当你说显示时,你是指管理员界面吗?还是你自己的模板?请查看Django设置配置:https://docs.djangoproject.com/en/1.9/ref/settings/#datetime-format - Shang Wang
@上网 在管理员界面中 - losee
3个回答

2
您可以按照以下方式更改时间字段的输入格式:
created = TimeField(widget=TimeInput(format='%I:%M:%S'))

或者

created = TimeField(input_formats=('%I:%M:%S'))

"%I" 表示12小时制时钟格式,而 "%H" 表示24小时制时钟格式。
在 Django 中我们有一些预定义的格式。
"time"
'%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'

您可以使用这些格式自定义您的字段。

同时请参阅官方文档


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: https://docs.djangoproject.com/en/dev/ref/forms/fields/#datetimefield

这是dev版本的,我不知道你正在使用哪个版本

时间比实际时间慢4分钟

您的设置中的TIME_ZONE是否正确?


时区为 'America/New_York' - losee

0

添加TIME_INPUT_FORMATS = ('%I:%M %p',)

settings.py


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接