Django之时间区问题(其他篇二)

版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。本文为博主原创文章,转载请附上博文链接! https://blog.csdn.net/Burgess_zheng/article/details/86666312

上一篇:Django之admin实战示例详解(其他篇一) 点击跳转
下一篇

时间的重要性

记住要根据该工程设置的时间进行对应存储,(如果金融的话,差8小时是会死得很惨,因为月账之类的,分析就不准了)
DJANGO SETTINGS设置的是UTC:datetime.datetime.utcnow()
如果设置的是 'Asia/Shanghai' : datatime.datatime.now()
#根据上面的 哪怕是和工程settings下的time_zone对应上了存储后台会出现警告如下:

所以django提供了一个模块,该模块会自动判断django设置的时间区,而取正确的当前时间时间(以后就使用下面模块获取当前时间)

from django.utils import timezone
timezone.now() #获取的时间是基于Djangosetting设置的时间

实战示例:

setting:myDjango的设置的时间为UTC

UTC比我们慢8小时

urls

 

views

浏览器查看当前时间

浏览器访问我们的url

查看后台

使用datetime该模块取当前时间是上海的时间
而timezon取的时间是根据Django设置的时间UTC当前时间

from django.utils import timezone
timezone.now() #获取的时间是基于Djangosetting设置的时间

获取的当前时间相差可是8个小时,所以亲们,一定要注意时间,这样进行数据分析就肯定不准

 

setting:myDjango的设置的时间为Asia/Shanghai

浏览器查看当前时间

浏览器访问我们的url

查看后台

以后取当前时间存入数据库使用django.utils的itmezone取而不要使用datetime该模块取
严重注意,数据库存储时间,Django设置的时间区域应该一致,而保存当前时间进入表也必须要和django设置的时区一致
所以不管设置的是上海时间还是英国UTC时间,只要使用下面的模块获取当前时间都会自动根据django设置的时区获取当前时间

from django.utils import timezone
timezone.now() #获取的时间是基于Djangosetting设置的时间

上一篇:Django之admin实战示例详解(其他篇一) 点击跳转
下一篇

 

 

 

猜你喜欢

转载自blog.csdn.net/Burgess_zheng/article/details/86666312