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

Python中不同时区日期字符串标准化并转UTC时间的实现方法

带时区偏移时间转UTC标准时间方案

通用转换逻辑

  • 先提取时间字符串中的偏移量部分(例如+05:30、-03:00),换算成总偏移秒数:正偏移代表当地时间比UTC快,转UTC要减去对应秒数;负偏移代表当地时间比UTC慢,转UTC要加上对应秒数
  • 将本地时间部分按偏移量调整后,格式化输出为YYYY-MM-DD HH:MM:SS格式即可

Python 实现

依赖标准库datetime即可,无需安装第三方依赖:

from datetime import datetime

def offset_to_utc(time_str: str) -> str:
    # 解析带偏移的时间字符串
    dt = datetime.strptime(time_str, "%Y-%m-%d %H:%M:%S%z")
    # 转换为UTC时区
    dt_utc = dt.astimezone(datetime.timezone.utc)
    # 格式化输出,去除时区信息
    return dt_utc.strftime("%Y-%m-%d %H:%M:%S")

# 测试用例
print(offset_to_utc("2021-08-03 18:25:34+05:30")) # 输出 2021-08-03 12:55:34
print(offset_to_utc("2021-08-23 21:51:35-03:00")) # 输出 2021-08-24 00:51:35

JavaScript 实现

浏览器、Node.js环境通用:

function offsetToUtc(timeStr) {
    // 替换空格为T适配Date构造函数的ISO格式要求
    const date = new Date(timeStr.replace(' ', 'T'));
    // 补前导0工具函数
    const pad = num => String(num).padStart(2, '0');
    return `${date.getUTCFullYear()}-${pad(date.getUTCMonth()+1)}-${pad(date.getUTCDate())} ${pad(date.getUTCHours())}:${pad(date.getUTCMinutes())}:${pad(date.getUTCSeconds())}`;
}

// 测试用例
console.log(offsetToUtc("2021-08-03 18:25:34+05:30")) // 输出 2021-08-03 12:55:34

Java 实现

适配Java 8+版本,使用官方推荐的新时间API:

import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.ZoneOffset;

public class TimeConverter {
    private static final DateTimeFormatter INPUT_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ssXXX");
    private static final DateTimeFormatter OUTPUT_FORMAT = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");

    public static String offsetToUtc(String timeStr) {
        ZonedDateTime zdt = ZonedDateTime.parse(timeStr, INPUT_FORMAT);
        ZonedDateTime utcZdt = zdt.withZoneSameInstant(ZoneOffset.UTC);
        return utcZdt.format(OUTPUT_FORMAT);
    }

    public static void main(String[] args) {
        System.out.println(offsetToUtc("2021-08-03 18:25:34+05:30")); // 输出 2021-08-03 12:55:34
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:36:01