个人网站搭建(Day 16)— 小插曲:Django时区问题 时间差8小时

这篇博客讲的是一次 debug 的过程,觉得比较有意思就写一写2333

11.14 的早上,当我在 Lenotes 中创建一个新的 Diary 的时候呢,发现在创建当天的Diary后,还显示着 create new diary 的按钮,因为我们的页面设计导致如果存在日期为同一天的两篇 Diary 会导致时间条的混乱,因此呢,我们便开始我们的Debug之旅啦。

 

首先,我们登陆服务器,打开 shell 检查各个 Diary 的 date_added

可以看到有两个11.13的diary,这是为什么呢,百思不得其解之后我创建了一个新的日记来测试(时间为09:09:08),然而后台却发现其记录的date_added为(01:09:08),如下图

熟悉时区的人很容易推断出是时区设置的问题,你编写日记的时候使用的是服务器的时间(东八区),而保存的时候却是UTC时间,因此出现了奇怪的错误(参考博客 django时区问题时间差8小时 中有如下说明)

很显然,我们的问题就出在 schnee/settings.py 上,因此我们做出如下的修改

将 USE_TZ=True 改成 USE_TZ=False从而解决以上的问题,之后清理有冲突的日记并创建新的日记,可以看到储存的时间为东八区时间

以上就是本次 Debug 的过程啦,时区问题一直是比较头疼的问题,可能会和你的 服务器时区设置,项目文件设置,数据库系统设置 有关,当你遇到时间记录方面的问题的时候,可以从这三个方面寻找解决的方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值