官方文档地址:https://docs.python.org/2.7/library/time.html#module-time
参考博客:http://tech.glowing.com/cn/dealing-with-timezone-in-python/
需求:获取某用户所在时区对应服务器所在时区的时间戳。
Python为我提供了datetime,time,calendar模块 常用的还有一个第三方模块pytz
datetime模块定义了如下类:
datetime.date - 理想化的日期对象,假设使用格力高历,有year, month, day三个属性
datetime.time - 理想化的时间对象,不考虑闰秒(即认为一天总是24*60*60秒),有hour, minute, second, microsecond, tzinfo五个属性
datetime.datetime - datetime.date和datetime.time的组合
datetime.timedelta - 后面我们会用到的类,表示两个datetime.date, datetime.time或者datetime.datetime之间的差。
datetime.tzinfo - 时区信息
time模块提供了各种时间操作转换的方法。
calendar模块则是提供日历相关的方法。
pytz模块,使用Olson TZ Database解决了跨平台的时区计算一致性问题,解决了夏令时带来的计算问题。由于国家和地区可以自己选择时区以及是否使用夏令时,所以pytz模块在有需要的情况下得更新自己的时区以及夏令时相关的信息。比如当前pytz版本的OLSON_VERSON = ‘2013g’, 就是包括了Morocco可以使用夏令时。
客户端在收集用户的timezone信息时,常见的错误是:选择保存所在时区的偏移值,例如对于中国的时区,会保存+8,但这样显然丢失了用户所在的时区,即使是同样的时间偏移,也可能对应多个国家和地区。其次,若用