结合时区的日期操作
一、 解决问题
你有一个安排在2012年12月21日早上9:30的电话会议,地点在芝加哥。 而你的朋友在印度的班加罗尔,那么他应该在当地时间几点参加这个会议呢?
二、解决方案
pytz 模块(已被废弃), datetime 模块
三、代码说明
#!/usr/bin/env python
from datetime import datetime
from pytz import timezone
import pytz
d = datetime(2017, 1, 23, 10, 17, 0)
print (d)
central = timezone("US/Central")
loc_d = central.localize(d)
print (loc_d)
bang_d = loc_d.astimezone(timezone("Asia/Kolkata"))
print (bang_d)
"""
将时间统一转换为UTC时间,然后在获取时区
"""
utc_d = loc_d.astimezone(pytz.utc)
print (utc_d)
#北京时间'Asia/Shanghai'
print (pytz.country_timezones['cn'])
central = timezone('Asia/Shanghai')
loc_shanghai = central.localize(datetime.now())
print (loc_shanghai) # 上海时间 ->2017-01-23 10:34:56.764935+08:00 (+8表示比UTC快8个小时)
四、关联知识
五、总结
六、代码地址
github地址:https://github.com/weichen666/python_cookbook
目录/文件:third_selection/learn_data_date_time_pytz.py