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

如何将UTC时间列转换为伦敦时区时间(适配时区变更)

UTC时间转伦敦时区时间的实现方案

要确保全年自动适配英国夏令时(BST)和格林威治标准时间(GMT)的切换,必须使用IANA标准时区标识符Europe/London,不能手动固定偏移量。以下是基于Python Pandas的实现代码:

代码示例

import pandas as pd

# 加载数据(如果是CSV文件,直接用pd.read_csv('your_file.csv')即可)
df = pd.DataFrame({
    'utc_date_and_time': ['2022-10-20 00:00:00', '2022-10-20 00:05:00', '2022-10-20 00:10:00'],
    'api_calls': [12, 14, 17]
})

# 转换UTC字符串为带时区标识的datetime类型
df['utc_date_and_time'] = pd.to_datetime(df['utc_date_and_time'], utc=True)

# 转换为伦敦时区,自动处理夏令时/冬令时切换
df['london_date_and_time'] = df['utc_date_and_time'].dt.tz_convert('Europe/London')

# 转为目标字符串格式
df['london_date_and_time'] = df['london_date_and_time'].dt.strftime('%Y-%m-%d %H:%M:%S')

# 输出结果(保留索引)
print(df.to_csv(index=True))

关键说明

  • pd.to_datetime(..., utc=True):明确将原始字符串解析为UTC时区的时间,避免时区歧义。
  • tz_convert('Europe/London'):IANA时区数据库会自动根据日期判断当前是GMT(UTC+0)还是BST(UTC+1),完美适配全年时间转换,不会因为时区变更失效。
  • strftime('%Y-%m-%d %H:%M:%S'):将转换后的datetime对象转为你需要的字符串格式,和原始UTC列格式一致。

运行结果

执行代码后会输出你预期的格式:

,utc_date_and_time,api_calls,london_date_and_time
0,2022-10-20 00:00:00+00:00,12,2022-10-20 01:00:00
1,2022-10-20 00:05:00+00:00,14,2022-10-20 01:05:00
2,2022-10-20 00:10:00+00:00,17,2022-10-20 01:10:00

如果不需要UTC列带时区后缀,可以对utc_date_and_time列也执行strftime格式化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 10:30:50