python实现格林威治时间到北京时间的转化

python实现格林威治时间到北京时间的转化

最近由于api变动,做量化的时候碰到返回来K线的时间数据是“2019-03-19T16:00:00.000Z”这样的ISO 8601标准的格林威治时间,为了方便想对转换为“2019-03-20 00:00:00”这样格式的北京时间(+8小时)。

我写了两个函数实现这两种数据的相互转化,供大家在相似问题上参考:

# ===UTC2BJS
def UTC2BJS(UTC):
    UTC_format = "%Y-%m-%dT%H:%M:%S.%fZ"
    BJS_format = "%Y-%m-%d %H:%M:%S"
    UTC = datetime.strptime(UTC,UTC_format)
    #格林威治时间+8小时变为北京时间
    BJS = UTC + timedelta(hours=8)
    BJS = BJS.strftime(BJS_format)
    return BJS

# ===BJS2UTC
def BJS2UTC(BJS):
    UTC_format = "%Y-%m-%dT%H:%M:%S.%fZ"
    BJS_format = "%Y-%m-%d %H:%M:%S"
    BJS = datetime.strptime(BJS,BJS_format)
    #北京时间-8小时变为格林威治时间
    UTC = BJS - timedelta(hours=8)
    UTC = UTC.strftime(UTC_format)
    return UTC
发布了11 篇原创文章 · 获赞 4 · 访问量 1132

猜你喜欢

转载自blog.csdn.net/qq_37477357/article/details/104658129