You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django项目迁移至Debian后日期显示格式与Windows不一致的解决方法

Django跨系统日期显示差异问题排查与修复

问题原因

  • 系统区域设置(locale)差异:Windows默认采用欧式日期格式(日-月-年)+24小时制,而Debian服务器默认使用美式格式(月-日-年)+12小时制,导致日期显示格式不一致。
  • Django默认会继承系统的locale配置来格式化日期,迁移后未统一项目内的日期显示规则,因此出现格式差异。

修复方法

1. 模板层强制指定格式(推荐,精准控制)

在模板渲染updated_at字段时,手动指定格式化规则,脱离系统locale影响:
将原来的模板代码:

{{ object.updated_at }}

修改为:

{{ object.updated_at|date:"j F Y, H:i" }}

该格式会固定输出8 June 2023, 14:00样式的日期时间。

2. 全局配置统一日期格式

在项目的settings.py中添加以下配置,全局覆盖默认的日期格式化规则:

# 自定义日期时间格式
DATE_FORMAT = "j F Y, H:i"
DATETIME_FORMAT = "j F Y, H:i"
# 禁用自动本地化格式化,强制使用自定义格式
USE_L10N = False

设置后,所有Django默认的日期显示都会遵循该格式,无需逐个修改模板。

3. 修改服务器系统locale(全局生效,不推荐)

若希望服务器整体使用欧式日期格式,可修改Debian的系统locale:

  1. 安装locale工具包:
sudo apt-get install locales
  1. 生成英式英语locale:
sudo locale-gen en_GB.UTF-8
  1. 设置默认locale:
sudo update-locale LANG=en_GB.UTF-8 LC_TIME=en_GB.UTF-8
  1. 重启Django服务或服务器,使配置生效。

内容的提问来源于stack exchange,提问作者user21402031

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 22:35:05