python3 厘清dateime模块

官方文档
网络资料
简单来说,三个类
1.tzinfo,这是一个抽象类
2.timedelta类,这个对象可以自己定义或者通过日期加减得到
3.timezone类

class timezone(tzinfo):

是tzinfo的子类,初始化时只能接受一个timedelta对象或它的子类作为输入,返回一个timezone对象
4.timedate类,可以使用replace方法赋予时区

>>> utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
>>> print(utc_dt)
2015-05-18 09:05:12.377316+00:00

这个方法只能接受tzinfo或它的子类,一般就是timezone对象,作为输入
时区之间的转化,通过astimezone方法实现,这个方法也只能接受timezone对象作为输入(首先应该是要自己有时区的)
廖雪峰讲解
5.pytz包

>>> import pytz
>>> utc_tz = pytz.timezone('UTC')
>>> china_tz = pytz.timezone('China/Shanghai')

方便返回一个timezone对象,不过最后那行china/shanghai在我的电脑上没有运行成功,可能变动了
查了一下可以通过一个函数按国家来查看时区

>>> pytz.country_timezones('cn')
['Asia/Shanghai', 'Asia/Urumqi']

猜你喜欢

转载自blog.csdn.net/kekefen01/article/details/82899513