# 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. [转帖]字节跳动开源 Shmipc:基于共享内存的高性能 IPC

    https://maimai.cn/article/detail?fid=1780832041&efid=WeW8ji-LiPaXA8QER_Q1YQ 简介 CloudWeGo - Shmip ...

  2. [转帖]Linux命令学习手册-readelf

    https://www.jianshu.com/p/405844abefae readelf elf-file(s) 功能 用于显示 elf 格式文件的信息. 描述 readelf 用来显示一个或者多 ...

  3. [转帖]linux的硬链接和软连接的区别

    Linux中有两种链接文件: 1)软链接(符号链接symbol),等同于Windows中快捷方式 ln -s 源文件名 符号链接文件名,源文件名和符号链接文件名是主从关系,源被删了,符号链接也就失效了 ...

  4. echarts给每个柱状图配置不同的颜色

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. echarts控制柱状图柱条的宽度

    barWidth属性 series: [{ name: '销量', type: 'bar', barWidth : 30,//柱图宽度 data: [5, 20, 36, 10, 10, 20] }]

  6. uni-app三目运算 uni-app监听属性

    三目运算 <text>{{mag>10 ? '优秀' : ""}}</text> 三目运算的高级用法 大于1000用kg表示 小于1000,用g表示 ...

  7. dispaly结合背景图片会提升加载性能

    1.display的常见现象 我们很多人都知道,display可以让元素实现隐藏或者显示. 或者让行级元素变成块级元素. 对它的认识也是比较准确的. 如果一个元素使用了display:none; 那么 ...

  8. Fabric配置块结构解析

    本文是区块链浏览器系列的第二篇. 上一篇介绍了交易块中的数据结构,这一篇介绍区块链网络中的配置块数据结构. 这两种区块中数据结构内容的区别主要Payload结构体中的Data域中的内容,接下来将以类图 ...

  9. Asp.Net MVC中点击按钮导出Excel

    一.Excel导出帮助类,要安装包NPOI 1 using NPOI.HSSF.UserModel; 2 using NPOI.SS.UserModel; 3 using System; 4 usin ...

  10. Object.getOwnPropertyDescriptor()属性

    console.log(Object.getOwnPropertyDescriptor(person,'a')); // writable: 是否可以修改 // value: 对象值 // confi ...