什么是navie时间?什么是aware时间?python
专门用来处理时区的库。这个库会常常更新一些时区的数据,不须要咱们担忧。而且这个库在安装Django的时候会默认的安装。若是没有安装,那么能够经过pip install pytz
的方式进行安装。app
将一个时区的时间转换为另一个时区的时间。这个方法只能被aware
类型的时间调用。不能被navie
类型的时间调用。示例代码以下(Linux环境下进入python环境):spa
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) # 这时候就能够正确的转换。
能够将一个时间的某些属性进行更改。code