问题描述:
django做的文章系统,在发布文章的时候,文章发布的时间总是比本地时间少8小时。
问题原因分析及解决办法:
1、可能是时区设置不对
可以在settings.py文件中设置时区为
TIME_ZONE = 'Asia/Shanghai'
如果还是不能解决问题,继续往下看
2、使用timezone.now()获取到的时间不对
如果是使用timezone.now()获取到的时间,那么会有8小时的时差,因为django默认为UTC时间,比我们晚8个小时。
这时候,我们有两种方法可以修正。
可以将timezone.now()获取的时间本地化,代码如下:
local_time = timezone.localtime(timezone.now())
然后再对应修改。
也可以在timezone.now()的基础上增加8个小时,以保持和本地时间一致。
local_time=timezone.now()+datetime.timedelta(hours=8)
这样的话,应该就可以解决问题了。
3、检查服务器时间
如果你的Django系统已经部署到服务器上了,那你应该检查一下你的服务器时间是不是对的。
可以使用putty等软件连接你的服务器,使用linux相对应的命令查看和修改本服务器时间。
标签: django基础