pytz库
这是一个处理时区的库
安装django框架时会自动安装
也可以通过命令 pip install pytz
安装
In [19]: import pytz
In [20]: pytz
Out[20]: <module 'pytz' from 'C:\\ProgramData\\Anaconda3\\lib\\site-packages\\pytz\\__init__.py'>
In [21]:
生成时区对象
utc时区
In [23]: utc = pytz.timezone('UTC')
In [24]: utc
Out[24]: <UTC>
In [25]:
亚洲上海时区
In [26]: shanghai = pytz.timezone('Asia/Shanghai')
In [27]: shanghai
Out[27]: <DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>
In [28]:
获取当前的日期时间对象
In [29]: import datetime
In [30]: now = datetime.datetime.now()
In [31]: now
Out[31]: datetime.datetime(2020, 3, 15, 14, 27, 23, 151236)
In [32]:
当前时间转为utc时间
In [32]: utc_now = now.astimezone(utc)
In [33]: utc_now
Out[33]: datetime.datetime(2020, 3, 15, 6, 27, 23, 151236, tzinfo=<UTC>)
当前时间转为上海时间
In [34]: sh_now = now.astimezone(shanghai)
In [35]: sh_now
Out[35]: datetime.datetime(2020, 3, 15, 14, 27, 23, 151236, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>)
给当前时间指定时区
有时区的时间 = 日期时间.replace(tzinfo=时区对象)
In [42]: now = datetime.datetime.now()
In [43]: now
Out[43]: datetime.datetime(2020, 3, 15, 14, 33, 14, 143324)
In [44]: now.replace(tzinfo=pytz.timezone('UTC'))
Out[44]: datetime.datetime(2020, 3, 15, 14, 33, 14, 143324, tzinfo=<UTC>)
In [45]: now.replace(tzinfo=pytz.timezone('Asia/Shanghai'))
Out[45]: datetime.datetime(2020, 3, 15, 14, 33, 14, 143324, tzinfo=<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>)