我刚入行后端开发不到一年,昨天技术组长说我写的后端接口时间不对,晚了8个小时。我有点懵逼了。我本地测试的时间都没有问题啊,都是标准北京时间。怎么会这样?python
后来猛然醒悟,我本身本地时间之因此没有问题是由于个人计算机设置了北京时区,而线上linux服务器有可能用的仍是utc时间,因此出现时间有偏差。OK既然知道问题就找解决办法,一开始我打算是用python来判断系统的时区再进行调整,我想了想,这种简单的东西应该Django web框架已经集成了,因此我就翻了翻官方文档。linux
须要如今settings.py中加入如下配置web
TIME_ZONE = 'Asia/Shanghai' #时区设置为上海时间 USE_TZ = True # 使用自定义时区
以后全部须要调用时间的地方都使用Django自带的工具django
from django.utils import timezone current_time = timezone.now() #得到配置文件中设置的时区的datetime对象