分享

python不同时区问题

 java_laq小馆 2014-04-12

卢昌红80后IT男,闲散人员

小召 赞同
Python中的时间转换需要提供自己的tzinfo类,tzinfo类在Python中用来描述时区信息,tzinfo在Python中是抽象类,因此必须要自己写tzinfo的子类;在中国使用的时间是GMT+8,也就是中国的时间会比GMT时间快8小时:

from datetime import datetime,timedelta,tzinfo
class GMT8(tzinfo):
delta=timedelta(hours=8)
def utcoffset(self,dt):
return self.delta
def tzname(self,dt):
return "GMT+8"
def dst(self,dt):
return self.delta

class GMT(tzinfo):
delta=timedelta(0)
def utcoffset(self,dt):
return self.delta
def tzname(self,dt):
return "GMT+0"
def dst(self,dt):
return self.delta

from_tzinfo=GMT()#格林威治时区,0时区
local_tzinfo=GMT8()#本地时区,+8区
gmt_time = datetime.strptime('2011-08-15 21:17:14', '%Y-%m-%d %H:%M:%S')
gmt_time = gmt_time.replace(tzinfo=from_tzinfo)
local_time = gmt_time.astimezone(local_tzinfo)

如果你不想自己写tzinfo的具体子类,可以使用pytz:pypi./pypi/py
具体参考:docs./library

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多