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

如何将ISO格式时间字符串转换为指定的日期与时间显示格式

时间格式转换实现方案

你拿到的2021-09-10T00:37:42Z是标准ISO 8601格式的UTC时间戳,以下是不同常用开发场景的实现方式:

JavaScript 实现

// 传入ISO时间字符串
function formatIsoTime(isoStr) {
  const date = new Date(isoStr);
  // 转换为MM/DD/YYYY格式,注意getMonth返回值范围为0-11,需要+1
  const formattedDate = `${String(date.getMonth() + 1).padStart(2, '0')}/${String(date.getDate()).padStart(2, '0')}/${date.getFullYear()}`;
  // 转换为12小时制时间
  let hours = date.getHours();
  const period = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12 || 12;
  const formattedTime = `${String(hours).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}${period}`;
  return { formattedDate, formattedTime };
}

// 调用示例
const result = formatIsoTime('2021-09-10T00:37:42Z');
console.log(result.formattedDate); // 输出 09/10/2021
console.log(result.formattedTime); // 输出 12:37AM

注:以上输出为本地时区时间,如果需要保留UTC时间,将方法替换为getUTCMonth、getUTCDate、getUTCFullYear、getUTCHours、getUTCMinutes即可。

Python 实现

from datetime import datetime

def format_iso_time(iso_str):
    # 解析ISO时间
    date_obj = datetime.fromisoformat(iso_str.replace('Z', '+00:00'))
    # 转换为MM/DD/YYYY格式
    formatted_date = date_obj.strftime("%m/%d/%Y")
    # 转换为12小时制时间
    formatted_time = date_obj.strftime("%I:%M%p")
    return {"formatted_date": formatted_date, "formatted_time": formatted_time}

# 调用示例
result = format_iso_time("2021-09-10T00:37:42Z")
print(result["formatted_date"]) # 输出 09/10/2021
print(result["formatted_time"]) # 输出 12:37AM

注:如果需要转换为本地时区输出,可以增加date_obj = date_obj.astimezone()逻辑处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 14:24:02