首页 > 解决方案 > 如何在python中将GMT格式的一列数据转换为当地时间

问题描述

我必须绘制一列数据,但它在 python 中以 GMT 格式给出。我需要将其转换为本地时间。我尝试了此站点中给出的不同代码进行转换,但这些都不起作用

标签: python-3.x

解决方案


第一步是将其解析为适当的日期时间对象:

import datetime

column_date_str_gmt = ...
gmt_datetime = datetime.datetime.strftime(column_date_str_gmt, '%Y-%m-%dT%H:%M:%SZ')

然后,将 gmt 日期时间移至 UTC:

from datetime import timezone

utc_datetime= gmt_datetime.replace(tzinfo=timezone.utc).timestamp()

最后,转换为当地时间:

import time

epoch = time.mktime(utc.timetuple())
epoch_offset = datetime.fromtimestamp (epoch) - datetime.utcfromtimestamp (epoch)
local_datetime = utc + epoch_offset

推荐阅读