Django 5如何全局设置24小时制时间显示?
全局修改Django 5日期时间为24小时制的方案
以下几种方法可以实现全局统一设置,解决12小时制带上午/下午标识的问题:
方法一:禁用本地化,手动指定全局格式
如果不需要依赖系统区域的本地化格式,直接强制使用自定义的24小时制格式:
- 打开项目的
settings.py,确保USE_L10N = False(启用本地化时,Django会优先使用区域默认格式,覆盖手动设置) - 添加或修改以下配置项:
# 日期时间全局格式,对应原显示的24小时版 DATETIME_FORMAT = 'F d, Y, H:i' # 单独的时间格式 TIME_FORMAT = 'H:i' - 重启Django服务器,此时模板中直接使用
{{ dataset.added_date }}就会显示24小时制的时间,无需额外过滤器。
方法二:启用本地化,指定24小时制区域
如果需要保留本地化支持,但希望使用默认24小时制的区域格式:
- 在
settings.py中确保USE_I18N = True和USE_L10N = True - 将
LANGUAGE_CODE设置为支持24小时制的区域代码,比如:# 中文区域默认24小时制 LANGUAGE_CODE = 'zh-CN' # 英式英语也是24小时制 # LANGUAGE_CODE = 'en-GB' - 重启服务器后,Django会自动加载对应区域的日期时间格式,无需手动指定
DATETIME_FORMAT。
注意事项
- 若之前修改配置后未生效,大概率是Django缓存导致,重启服务器即可生效。
- 以上配置会覆盖模板、admin后台等所有场景的日期时间显示,实现全局统一。
内容的提问来源于stack exchange,提问作者Freek
相关产品推荐
相关产品推荐

