在 Django 3.2.2 版中更改 DateTimeField 格式

问题描述

我正在尝试更改项目中所有日期时间对象的 DateTime 格式。 我想格式化:

    21-06-2021 14:02:12

我的设置

DATETIME_FORMAT = '%d-%m-%Y %H:%M:%s'
TIME_ZONE = 'Africa/Tunis'
USE_I18N = True
USE_L10N = False  
USE_TZ = True 

结果:

%21-%06-%2021 %14:%Jun:%st

解决方法

DATETIME_FORMAT setting [Django-doc] 可以像 PHP 那样处理格式规范。

所以作为格式,你应该使用:

DATETIME_FORMAT = 'd-m-Y H:i:s'

注意 formatting is slightly different [PHP datetime specs]。 PHP 使用 i 作为分钟;和一个小写 s 表示秒:

格式字符 说明 示例
带前导零的分钟 0059
s 带前导零的秒 0059

Django documentation 还具有列为 @AbdulAzizBarkat says 的格式字符。