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