1.timedelta:时间间隔
from datetime import *
In [8]: datetime.now()
Out[8]: datetime.datetime(2017, 10, 7, 11, 52, 25, 911519)
In [7]: datetime.now()+timedelta(days=1)
Out[7]: datetime.datetime(2017, 10, 8, 11, 52, 16, 199424)
datetime.now()+timedelta(days=1)
timedelta:时间间隔
| days
| Number of days.
|
| microseconds
| Number of microseconds (>= 0 and less than 1 second).
|
| seconds
| Number of seconds (>= 0 and less than 1 day).
2.pytz:时区问题
import pytz
from datetime import datetime
# 获取带时区的当前时间
>>> tz = pytz.timezone('Asia/Shanghai')
>>> tz
<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>
>>> datetime.now(tz)
datetime.datetime(2019, 4, 26, 10, 5, 9, 938765, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>)
# 创建带时区的时间
>>> datetime(2019, 4, 16, 9, 30, tzinfo=tz)
datetime.datetime(2019, 4, 16, 9, 30, tzinfo=<DstTzInfo 'Asia/Shanghai' LMT+8:06:00 STD>)
# 这里差了8分钟, 解决方法, tz.localize(datetime object)
>>> d = datetime(2019, 4, 16, 9, 30)
>>> tz.localize(d)
datetime.datetime(2019, 4, 16, 9, 30, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>)
# 转换时区
>>> t = datetime.now(tz)
>>> t
datetime.datetime(2019, 4, 26, 10, 8, 45, 288142, tzinfo=<DstTzInfo 'Asia/Shanghai' CST+8:00:00 STD>)
>>> t.astimezone(pytz.utc)
datetime.datetime(2019, 4, 26, 2, 8, 45, 288142, tzinfo=<UTC>)