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

如何将日期格式从2024-06-12 12:24:06.157转换为2035-12-11T19:28:00Z?

日期格式转换方案:从YYYY-MM-DD HH:MM:SS.sss到ISO 8601 UTC格式

要把2024-06-12 12:24:06.157这类格式转换为2035-12-11T19:28:00Z(ISO 8601 UTC标准格式),核心是完成「解析原始日期→转换为UTC时区→格式化输出」三个步骤,以下是主流编程语言的实现方式:

Python实现

from datetime import datetime, timezone

# 解析原始日期字符串
original_dt = datetime.strptime("2024-06-12 12:24:06.157", "%Y-%m-%d %H:%M:%S.%f")
# 转换为UTC时区(若原始时间为本地时区,需先指定本地时区再转UTC)
utc_dt = original_dt.replace(tzinfo=timezone.utc)
# 格式化为目标格式(截断毫秒到秒)
formatted_str = utc_dt.strftime("%Y-%m-%dT%H:%M:%SZ")
print(formatted_str)

注:如果原始时间是本地时区,可借助pytz库指定本地时区后再转换为UTC。

JavaScript实现

// 解析原始日期(注意:若原始时间为本地时区,需确保构造函数正确识别)
const originalDate = new Date("2024-06-12 12:24:06.157");
// 直接生成ISO 8601 UTC格式字符串,自动处理时区转换
const isoStr = originalDate.toISOString();
// 截断毫秒部分(目标示例无毫秒)
const formattedStr = isoStr.slice(0, 19) + "Z";
console.log(formattedStr);

Java实现

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

public class DateConvertDemo {
    public static void main(String[] args) {
        // 定义输入格式解析器
        DateTimeFormatter inputFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
        // 解析原始日期字符串
        LocalDateTime localDt = LocalDateTime.parse("2024-06-12 12:24:06.157", inputFormatter);
        // 转换为UTC并格式化为目标格式
        String formattedStr = localDt.atOffset(ZoneOffset.UTC)
                                    .format(DateTimeFormatter.ISO_INSTANT)
                                    .replace(".000", "");
        System.out.println(formattedStr);
    }
}

关键注意点

  • 必须明确原始日期的时区:如果原始时间是本地时区而非UTC,转换时需先指定原始时区,再转UTC,否则会出现时间偏移错误。
  • 毫秒处理:目标格式示例无毫秒,需根据需求选择保留或截断毫秒部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 12:14:55