050:navie时间和aware时间详解
Posted zheng-weimin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了050:navie时间和aware时间详解相关的知识,希望对你有一定的参考价值。
navie时间和aware时间:
什么是navie时间?什么是aware时间?
- navie时间:不知道自己的时间表示的是哪个时区的。也就是不知道自己几斤几两。比较幼稚。
- aware时间:知道自己的时间表示的是哪个时区的。也就是比较清醒。
pytz库:
专门用来处理时区的库。这个库会经常更新一些时区的数据,不需要我们担心。并且这个库在安装Django的时候会默认的安装。如果没有安装,那么可以通过pip install pytz
的方式进行安装。
astimezone方法:
将一个时区的时间转换为另外一个时区的时间。这个方法只能被aware
类型的时间调用。不能被navie
类型的时间调用。示例代码如下(Linux环境下进入python环境):
import pytz from datetime import datetime now = datetime.now() # 这是一个navie类型的时间 utc_timezone = pytz.timezone("UTC") # 定义UTC的时区对象 utc_now = now.astimezone(utc_timezone) # 将当前的时间转换为UTC时区的时间 >> ValueError: astimezone() cannot be applied to a naive datetime # 会抛出一个异常,原因就是因为navie类型的时间不能调用astimezone方法 now = now.replace(tzinfo=pytz.timezone(‘Asia/Shanghai‘)) utc_now = now.astimezone(utc_timezone) # 这时候就可以正确的转换。
replace方法:
可以将一个时间的某些属性进行更改。
以上是关于050:navie时间和aware时间详解的主要内容,如果未能解决你的问题,请参考以下文章
67.ORM查询条件:range的使用,使用make_aware将navie time 转换为aware time
如何保存底部导航片段的状态 - 具有单个导航图的 Android 导航组件
Text to image论文精读 NAAF:基于负感知注意力的图像-文本匹配框架 Negative-Aware Attention Framework for Image-Text Matching