# naive time
从字面意思上理解,这是个"幼稚的时间",所以可以理解为它是个本地时间,不带时区信息,不能直接用于存储,如下
import datetime
datetime.datetime.now() # 本地时间,不带时区
datetime.datetime.utcnow() # utc时间,不带时区
"""不带时区的naive time
2022-02-09 11:20:22.074294
2022-02-09 03:27:57.935250
""" # active time
从字面意思上理解,这是个"清醒的时间",所以可以理解为带时区的时间,那么这个"active time"就是我们需要的datetime类型,只要给他正确的时区,存进数据库,那么你的网站的时间就永远不会有问题了,服务器日志也不会再有让你内心奔溃的东西出现了。
对于每一个"naive time"我们只需要给它一个正确的tzinfo它就可以被正常使用了,那么这个tzinfo从哪里来呢?在安装django的时候它会检测你有没有安装pytz这个库,如果没有它会自动帮你装上。
简单点说就是一个python的时区管理包,那么以后只要我们每次涉及到时间操作时都这样写
from pytz import timezone
import datetime
my_zone = timezone("Asia/Shanghai")
my_time = datetime.datetime.now().replace(tzinfo=my_zone) # 如在django项目中,推荐使用下面的,底层也是pytz实现的
from django.utils import timezone # django项目中有相关时间问题的话推荐使用
form django.utils import timezone
timezone.now() # 带时区的 # 如何读取datetime并正确显示
## 当存进的datetime时间和它的时区与你所在的时间不对应时的解决办法
1.datetime.astimezone()
2.django.utils.timezone.localtime()
以上两种方法都可以将一个时间转换为另一个时区时间,而2中默认转换为django setting里的时区,当然你也可以指定时区转换。
import datetime
from pytz import timezone
utc_zone = timezone("utc")
my_zone = timezone("Asia/Shanghai")
my_time = datetime.datetime.utcnow().replace(tzinfo=utc_zone)
out_time = my_time.astimezone(my_zone)
print(out_time.strftime("%Y-%m-%d %H:%M:%S")) # 一些django中timezone的方法
timezone.localtime() # 将一个其它时区的"active time"转换为本地时间,当然这个本地时间依然是有时区的,不是"naive"的,你也可以指定一个timezone让localtime将"active time"转换为其它时区的time
timezone.now() # 可以根据setting中USE_TZ返回一个有(无)时区的datetime.
timezone.is_aware() # 判断一个datetime是否是"active"
timezone.is_naive() # 判断一个datetime是否是"naive"
timezone.make_aware() # 将naive time转换为active time
timezone.make_naive() # 将active time 转换为naive time
https://blog.csdn.net/ronon77/article/details/84884106
https://cloud.tencent.com/developer/article/1028182?from=15425

django时区相关说明的更多相关文章

  1. django 时区和系统(ubuntu)时区修改

    django时区默认使用UTC,中国人使用CST东八区. settings.py改为上海时区 #settings.py TIME_ZONE = 'Asia/Shanghai' # True:使用UTC ...

  2. django时区设置 media配置 日期截断函数 上传图片管理设计方案

    1.django时区 修改一下app里的设置 TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True # 不用UTC时间 USE_TZ ...

  3. Django 模板相关

    Django 模板相关 视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面.目前市面上有非常多的模板系统,其中最 ...

  4. django时区设置(timezone)

    django时区设置(timezone): 默认: TIMEZONE:'America/Chicago'(以前的版本,现在的版本默认的都是UTC时间.) Chicago时间,为UTC/GMT -6 小 ...

  5. .Net DateTime跨时区相关问题

    项目:.Net CS结构,WCF通信,MySql存储. 场景:客户端(UTC+07:00)获取本地时间(DateTime对象)2017-01-17 15:20:12,通过WCF(http)传输至服务端 ...

  6. 一文解决MySQL时区相关问题

    前言: 在使用MySQL的过程中,你可能会遇到时区相关问题,比如说时间显示错误.时区不是东八区.程序取得的时间和数据库存储的时间不一致等等问题.其实,这些问题都与数据库时区设置有关,本篇文章将从数据库 ...

  7. Django学习笔记之Django ORM相关操作

    一般操作 详细请参考官方文档 必知必会13条 <> all(): 查询所有结果 <> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 <> ...

  8. Django ORM相关的一些操作

    一般操作 看专业的官网文档,做专业的程序员! 必知必会13条 <1> all(): 查询所有结果 <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 ...

  9. Django 开发相关知识 整理

    前言 前端ajax HTTP请求头 ajax上传文件 jsonp跨域 URL 设计 分发 url参数编码 反向生成url 视图 request对象 POST url信息 视图返回值 HttpRespo ...

  10. django 一些相关问题

    这两天在处理django项目时碰到一些问题 1.ur路径设置要忽略大小写,查找了很多资料,都没有发现相关的介绍,最后在谷歌上找到一个解决方案,https://groups.google.com/for ...

随机推荐

  1. [转帖]springboot中使用skywalking实现日志追踪

    文章目录 SkyWalking分布式追踪系统 介绍 主要架构 环境 引入依赖 配置Log4j2 下载编译好的8.7.0版本包 使用探针实现日志追踪 启动脚本 启动Java服务 访问服务 使用UI 切换 ...

  2. CoreMark简单学习

    CoreMark简单学习 下载 https://github.com/eembc/coremark-pro 需要注意, 其实coremark是有两组. 一组是coremark 一组是 coremark ...

  3. Docker 安装Oracle12c的镜像修改字符集 并且进行启动的简单过程

    学习来自 昨天晚上转帖的文章 这里面添加一些自己的内容 首先获取配置文件 git clone https://github.com/oracle/docker-images.git 获取之后比较容易了 ...

  4. Redis-rdb-tools与rdr工具学习与使用

    Redis-rdb-tools与rdr工具学习与使用 简要说明 rdb工具是python写的一套工具,可以分析dump文件,获取key等信息. rdb其实有一套rdb-profiler工具, 能够导出 ...

  5. js下拉加载更多-详解

    场景 有些时候,我们在pc端经常会遇见滚动到底部的时候,去加载下一页的数据, 这个时候,我们就需要知道滚动条什么时候触底了, 如果触底了,就去加载下一页的数据; 在触底的过程中,我们需要注意的是,防止 ...

  6. 策略模式学习,使用go实现策略模式

    策略模式 定义 优点 缺点 使用场景 代码实现 策略模式和工厂模式的区别 参考 策略模式 定义 策略模式定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到客户端的使用 ...

  7. PGL图学习项目合集&数据集分享&技术归纳业务落地技巧[系列十]

    PGL图学习项目合集&数据集分享&技术归纳业务落地技巧[系列十] 1.PGL图学习项目合集 1.1 关于图计算&图学习的基础知识概览:前置知识点学习(PGL)[系列一] :ht ...

  8. 顺颂秋冬<一>

    起名字真难. 原来想给这个合集起个积极的名字,记录鄙人浅薄的认知和内心的荒芜. 以及所遇见的温暖. 想来想去,不过是 浮生旧茶  西楼残月之类的 难堪大用. 后来想起来一句, 即,顺颂时祺,秋绥冬禧, ...

  9. PicGo + Gitee 实现 Markdown 图床

    最近再研究图床,注册的阿里云域名备案还在审批,所以七牛云图床暂时没用,所以试下用PicGo+ Gitee PicGo - 基于 electron-vue 开发的图床工具 PicGo目前支持了微博图床, ...

  10. 执行orachk检查数据库环境

    Exadata环境巡检需要执行专有的exachk,而普通Oracle环境可以通过执行orachk来检查集群和数据库相关健康状况. 1.使用orachk检查健康状态 使用root用户执行,期间可能需要多 ...