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

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

时间的重要性

记住要根据该工程设置的时间进行对应存储,(如果金融的话,差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

Django之时间区问题(其他篇二)_第1张图片

UTC比我们慢8小时

urls

 

views

Django之时间区问题(其他篇二)_第2张图片

浏览器查看当前时间

Django之时间区问题(其他篇二)_第3张图片

浏览器访问我们的url

查看后台

Django之时间区问题(其他篇二)_第4张图片

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

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

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

 

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

Django之时间区问题(其他篇二)_第5张图片

浏览器查看当前时间

Django之时间区问题(其他篇二)_第6张图片

浏览器访问我们的url

查看后台

Django之时间区问题(其他篇二)_第7张图片

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

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

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

 

 

 

你可能感兴趣的:(Django,Django实战篇【总】,Dajngo之其他篇【四】)