模型常用字段-navie和aware类型时间

2019-01-13  本文已影响0人  null_e563

navie时间和aware时间

  1. navie没有指定时区的,不知道自己的时间。
  2. aware指定了时区,知道自己的时间。

pytz库:
专门用来处理时区的库,经常更新一些时区的数据

astimezone方法
将一个时区的时间转换为另一个时区的时间,这个方法只能被'aware'类型的时间调用,
不能被'navie'类型的时间调用
```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 navie datetime
# 会抛出一个异常,原因就是因为navie类型的时间不能调用astimezone方法

now = now.replace(tzinfo=pytz.timezone('Asia/Shanghai'))
utc_now = now.astimezone(utc_timezone)
#这时候就可以进行时区的转换

#更改时间
now.replace(day=13)
```
上一篇下一篇

猜你喜欢

热点阅读