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

Python实现Zulu格式日期字符串转标准时间字符串

字符串格式转换方案

针对固定格式YYYYMMDDTHHmmZ转YYYY-MM-DD HH:mm,可以用纯字符串操作(高效,无需日期解析)或日期解析后格式化两种方式,以下是主流语言的实现:

Python 实现

方法1:纯字符串切片拼接

因为输入格式完全固定,直接通过切片提取对应部分再拼接即可:

input_str = "20221001T0545Z"
output_str = f"{input_str[:4]}-{input_str[4:6]}-{input_str[6:8]} {input_str[9:11]}:{input_str[11:13]}"
print(output_str)  # 输出: 2022-10-01 05:45

方法2:日期解析后格式化

如果需要兼容类似格式的微小变动,可借助datetime模块:

from datetime import datetime

input_str = "20221001T0545Z"
dt_obj = datetime.strptime(input_str, "%Y%m%dT%H%MZ")
output_str = dt_obj.strftime("%Y-%m-%d %H:%M")
print(output_str)  # 输出: 2022-10-01 05:45

JavaScript 实现

方法1:纯字符串处理

const inputStr = "20221001T0545Z";
const outputStr = `${inputStr.slice(0,4)}-${inputStr.slice(4,6)}-${inputStr.slice(6,8)} ${inputStr.slice(9,11)}:${inputStr.slice(11,13)}`;
console.log(outputStr); // 输出: 2022-10-01 05:45

方法2:日期对象格式化

const inputStr = "20221001T0545Z";
// 补全为标准ISO格式(添加分钟后的冒号)
const isoStr = inputStr.replace(/(\d{2})(Z)$/, ":$1$2");
const dt = new Date(isoStr);
const outputStr = `${dt.getFullYear()}-${String(dt.getMonth()+1).padStart(2,'0')}-${String(dt.getDate()).padStart(2,'0')} ${String(dt.getUTCHours()).padStart(2,'0')}:${String(dt.getUTCMinutes()).padStart(2,'0')}`;
console.log(outputStr); // 输出: 2022-10-01 05:45

注意事项

  • 纯字符串操作性能更高,适合输入格式完全固定的场景;
  • 日期解析方式更灵活,可应对格式的细微调整,但需注意时区问题(输入的Z代表UTC时区,解析时需保持一致)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:20:53