Python 将 UTC 时间转换为北京时间

前记

在一些软件中如 ES,时间格式都是 UTC 时间格式。记一记如何将 UTC 时间格式转换为本地北京时间格式。

原理很简单:将UTC转化为datetime时间格式->将转化的datetime时间加8小时->格式化为想要的格式

实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import datetime

'''
UTC转北京时间
'''

def utc_format(utc_time, utc_time_format='%Y-%m-%dT%H:%M:%S.000Z'):
utc_datetime = datetime.datetime.strptime(utc_time, utc_time_format)
local_datetime = utc_datetime + datetime.timedelta(hours=8)
local_time_format = "%Y-%m-%d %H:%M:%S"
local_time = local_datetime.strftime(local_time_format)
return local_time

print(utc_format(utc_time="2021-10-26T09:34:31.000Z"))