Django(13)django时区问题

Django(13)django时区问题前言我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,所以我们存储在数据库中的时间是UTC的时间,但是当我们做的网站只面向国内用户,或者只是提供内部平台使用,我们希望存储在

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

我们都知道时区,标准时区是UTC时区,django默认使用的就是UTC时区,所以我们存储在数据库中的时间是UTC的时间,但是当我们做的网站只面向国内用户,或者只是提供内部平台使用,我们希望存储在数据库中的时间就是本地时间(东八区的时间),那么django也是可以完成这样的需求的
 

await时间和navie时间

什么是await时间和navie时间?它是我们python中的两种时间类型

  • navie:不知道自己的时间表示哪个时区
  • await:知道自己的时间表示的是哪个时区的
     

django设置东八区时间

我们想让django中的时区变为东八区的时间,很简单

USE_TZ = False
TIME_ZONE = 'Asia/Shanghai'

settings.py文件中将USE_TZ设置为False,将TIME_ZONE设置为亚洲上海,之后我们在模型中创建时间字段的时候,在数据库中存储的就是东八区的时间,而时间的类型会使navie类型,所以我们就不能再把navie类型的时间转换成其他时区的类型,所以我们一般不建议这么做。
 

django设置UTC时区

django中默认设置的是UTC时区,所以我们数据库中存储时间就是UTC时区的时间,也就是0时区,比我们正常见到的少8个小时,但是它的时间是await类型,可以转成任意时间的时区。
 

django中提供了2个时间的方法

  • django.utils.timezone.now:会根据settings.py文件中是否设置了USE_TZ=True获取当前的时间。如果为Ture,那么就获取一个aware类型的UTC时间,如果为False,那么就获取一个navie类型的时间
  • django.utils.timezone.localtime:会根据setting.py中的TIME_ZONE来将一个aware类型的时间转换为TIME_ZONE指定时区的时间
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165047.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于ADS500MHZ带通滤波器「建议收藏」

    基于ADS500MHZ带通滤波器「建议收藏」《高频电子线路》专题实践报告题目:500Mhz带通滤波器设计500Mhz带通滤波器设计专题相关理论基础及对应ADS仿真要点2.1设计目的2.1.1了解巴特沃斯型滤波器、切比雪夫型滤波器、椭圆函数滤波器各自特性;2.1.2掌握运用ADS软件进行500MHZ带通滤波器优化设计;…

  • batchnorm pytorch_Pytorch中的BatchNorm

    batchnorm pytorch_Pytorch中的BatchNorm前言:本文主要介绍在pytorch中的BatchNormalization的使用以及在其中容易出现的各种小问题,本来此文应该归属于[1]中的,但是考虑到此文的篇幅可能会比较大,因此独立成篇,希望能够帮助到各位读者。如有谬误,请联系指出,如需转载,请注明出处,谢谢。∇∇\nabla∇联系方式:e-mail:FesianXu@163.comQQ:973926198github:https:/…

  • adb安装TWRP

    adb安装TWRP1.刷入TWRPfastbootflashrecoverytwrp-3.0.2-0-hammerhead.imgadb进入fastbootadbrebootbootloader刷完TWRP后进入TWRPfastbootflashrecoveryrecovery.img

  • python 递归深度

    python 递归深度python对于递归深度有默认的设置,当递归层数过深,超过1000时,会报错RecursionError:maximumrecursiondepthexceededwhilecallingaPythonobject可以通过如下设置:importsyssys.setrecursionlimit(1200)手动设置递归深度,测试后发现,最大上限在8

  • vue关闭eslint检测_eslint with error prevention

    vue关闭eslint检测_eslint with error prevention启动项目时报错Youmayusespecialcommentstodisablesomewarnings.Use//eslint-disable-next-linetoignorethenextline.Use/*eslint-disable*/toignoreallwarningsinafile.解决方法:这样就解决了代码如下:lintOnSave:false//关闭eslint检查…

  • windows程序设计第五版_windows程序设计入门

    windows程序设计第五版_windows程序设计入门Ellipse函数的用法函数功能:该函数用于画一个椭圆,椭圆的中心是限定矩形的中心,使用当前画笔画椭圆,用当前的画刷填充椭圆。函数原型:BOOL Ellipse(HDC hdc, int nLeftRect, int nTopRect, nRightRect, int nBottomRect);参数:hdc:设备环境句柄。nLeftRect:指定限定矩形左上角的X坐标。nTopRect…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号