pytz
pytz
django的模型类中使用的 DateTimeField 字段,自动添加下来的携带有时区信息,2019-06-19T03:58:11.937945Z
在我的逻辑中需要对时间进行比较,我使用了datetime.datetime.today()取出的datetime对象默认是没有时区信息的,虽然两个都是datetime对象,但是在比较的时候就会报错
#TypeError: can't compare offset-naive and offset-aware datetimes
这是因为两个时间不属于同一类型,offset-naive是不含时区的类型,而offset-aware是有时区类型,两者自然不能比较。
使用pytz解决,添加时区或者删除时区,一致的datetime对象就可以进行比较
import datetime
import pytz
a = datetime.datetime.today()
#datetime.datetime(2019, 6, 19, 12, 17, 5, 713381)
b = datetime.datetime.today()-datetime.timedelta(days=3)
#datetime.datetime(2019, 6, 16, 12, 18, 32, 654933)
a > b
#True
a == b
#False
#从django模型中取出的datetime对象
#c = datetime.datetime(2019, 6, 19, 0, 0, tzinfo=<UTC>)
#携带有tzinfo信息
b == c
#False
b > c 报错
#TypeError: can't compare offset-naive and offset-aware datetimes
#对tzinfo信息进行删除
c = c.replace(tzinfo=None)
#datetime.datetime(2019, 6, 19, 0, 0)
c > b
#False 就可以进行比较了
#对tzinfo进行添加
a = a.replace(tzinfo=pytz.timezone('UTC'))
#此时得到的a对象就可以和django模型中取出来的c对象直接进行比较了
pytz的更多相关文章
- python pytz时区设置模块
如果你的程序要考虑时区,可以使用pytz.pytz官方文档:http://pytz.sourceforge.net/我使用的python版本:3.7.1 datetime模块中有tzinfo相关的东西 ...
- python 通过pytz模块进行时区的转换,获取指定时区的时间
import pytz import time import datetime print(pytz.country_timezones('cn')) # 查询中国所拥有的时区 print(pytz. ...
- python pytz 结合时区的日期操作
有一个安排在2012 年12 月21 日早上9:30 的电话会议,地点在芝加哥.而朋友在印度的班加罗尔,那么他应该在当地时间几点参加这个会议呢? 对几乎所有涉及到时区的问题,你都应该使用pytz 模块 ...
- Python 安装pytz
1. https://pypi.org/project/pytz/#files 2. 下载上图标黄的文件, 3. pip install 4. from pytz import ...
- pytz 格式化北京时间 6分钟问题
使用datetime直接构造时间的时候,设置时区是没有北京时间的,一般来说习惯了linux的同志都会默认用上海时间来代替,这里却有一个问题,如果要进行时区转换,上海时间比北京时间差6分钟... 比如: ...
- pytz库时区的坑(转)
add by zhj: 推荐使用标准库中的dateutil代替pytz 原文:https://www.hongweipeng.com/index.php/archives/1803/ 起步 在djan ...
- ImportError: No module named pytz
xxx@hostname:/opt/xx/cc$ python manage.py runserver Traceback (most recent call last): File , in < ...
- 报错Database returned an invalid value in QuerySet.datetimes(). Are time zone definitions for your database and pytz installed?解决
在django中的setting.py中: LANGUAGE_CODE = 'en-us' TIME_ZONE = 'Asia/Shanghai' #'UTC' USE_I18N = True USE ...
- 解决 django 博客归档 “Are time zone definitions for your database and pytz installed?”的错误
修改 project 中的settings 文件,问题解决! # USE_TZ = True USE_TZ = False # LANGUAGE_CODE = 'en-us' LANGUAGE_COD ...
随机推荐
- Android 7.0 之后相机/文件读写等权限获取方式改变,导致开启相机闪退
在 Android 7.0 之前 Google 提供的动态申请权限的 API,可以调用相机拍照,访问SDcard等操作都只需要申请对应的权限,如下: <uses-permission andro ...
- 立体像对空间前方交会-点投影系数法(python实现)
一.原理 二.步骤 a.用各自像片的角元素计算出左右像片的旋转矩阵R1和R2. b.根据左右像片的外方位元素计算摄影基线分量Bx,By,Bz. c.逐点计算像点的空间辅助坐标. d.计算投影系数. e ...
- MySql数据库操作之数据约束
首先数据库的外键是数据库提供的一种完整性约束.在许多数据库的书上也会介绍到,然而对于外键这个完整性性约束究竟应该在数据库端实现,还是在项目业务端实现很多人有着不同的意见. 个人开发(小型应用).数据库 ...
- EntityFramework进阶(二)- DbContext预热
本系列原创博客代码已在EntityFramework6.0.0测试通过,转载请标明出处 在DbContext首次调用的时候,会很慢,甚至会有5,6秒的等待,通常称为冷查询.再次调用的时候,几毫秒就能请 ...
- fatfs源码阅读
使用fatfs文件的第一步,就是调用F_mount函数注册一个工作空间. F_mount函数的原型如下: 第一个参数根据网上大神的答复,是外设类型,如果是sd卡就是0,flash等等其他的外设就是其他 ...
- 表格分页——tablePagination
背景:表格是最为通用的展示方式,为了展示的统一性,以及分页组件的重用,这里写一个分页组件,供比较多或者较少数据2种表格进行分页展示. 分页组件: <template> <el-pag ...
- vue简单todolist
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 五、DML操作汇总
前言: DML(Data Manipulation Language)数据操作语言,以INSERT.UPDATE.DELETE三种指令为核心,分别代表插入.更新与删除,是必须要掌握的指令,DML和SQ ...
- git命令——revert、reset
参考:如何在 Git 中重置.恢复,返回到以前的状态 使用git时,如果对刚刚提交的后悔了怎么办,如何撤销? 方法一:手动修改 你把新增的文件删了 或者 更改过的文件再改回来,然后再commit一次. ...
- python ORM模块sqlalchemy的使用
1.安装sqlalchemy pip install sqlalchemy 2.导入必要的包及模块 import sqlalchemy from sqlalchemy.ext.declarative ...