You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中将GMT-3字符串列转换为EST日期时间列?

将GMT-3时区字符串转换为EST时区的Pandas处理方案

步骤1:准备示例数据

先创建包含目标时间列的DataFrame:

import pandas as pd

time_list = ['8:00PM GMT-3', '9:00PM GMT-3', '11:00PM GMT-3', '11:00PM GMT-3', '9:00PM GMT-3', '11:00PM GMT-3', '8:00PM GMT-3', '8:30PM GMT-3', '10:30PM GMT-3', '2:00PM GMT-3']
df = pd.DataFrame({'raw_time': time_list})

步骤2:解析为带GMT-3时区的datetime对象

原字符串中的GMT-3等价于UTC-3,可通过两种方式将object类型转换为时区感知的datetime:

方法A:替换时区标识后自动解析

# 替换GMT-3为UTC-3,让pandas自动识别时区
df['utc3_time'] = pd.to_datetime(df['raw_time'].str.replace('GMT-3', 'UTC-3'), infer_datetime_format=True)

方法B:提取时间部分后手动绑定时区

如果担心自动解析出错,可拆分字符串提取纯时间后指定时区:

# 拆分字符串提取时间部分,按格式解析后绑定UTC-3时区
df['utc3_time'] = pd.to_datetime(df['raw_time'].str.split(' ', expand=True)[0], format='%I:%M%p').dt.tz_localize('UTC-3')

步骤3:转换为EST时区

EST对应的IANA标准时区是US/Eastern(会自动处理夏令时,在EST和EDT之间切换);如果需要固定使用UTC-5偏移的标准时间(不考虑夏令时),可以用Etc/GMT+5:

# 转换为自动识别夏令时的美国东部时区
df['est_time'] = df['utc3_time'].dt.tz_convert('US/Eastern')

# (可选)强制使用固定UTC-5偏移的EST(不切换夏令时)
# df['est_time'] = df['utc3_time'].dt.tz_convert('Etc/GMT+5')

验证结果

转换后可查看结果,例如原8:00PM GMT-3会转换为6:00PM EST(UTC-3比UTC-5早2小时,需减去2小时)。

内容的提问来源于stack exchange,提问作者dcoolwater0502

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:04:53