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

JS中如何格式化REST返回的lastModified日期为指定显示格式?

日期时间格式化实现方案

根据你的需求,把lastModified字段的UTC日期格式转换成"19 Mar 13:02",下面分不同场景给出具体实现:

前端JavaScript场景

如果是在前端处理(比如获取JSON后渲染单选按钮标签),有两种常用方式:

方式1:手动拼接格式化

适合需要精确控制每一部分的场景:

function formatLastModified(dateStr) {
  // 解析UTC日期字符串
  const utcDate = new Date(dateStr);
  // 定义英文月份缩写数组(对应0-11月)
  const monthAbbrs = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
  
  // 提取UTC时间的各个部分
  const day = utcDate.getUTCDate();
  const month = monthAbbrs[utcDate.getUTCMonth()];
  // 小时和分钟补0到两位,避免出现"19 Mar 3:2"这种格式
  const hours = String(utcDate.getUTCHours()).padStart(2, '0');
  const minutes = String(utcDate.getUTCMinutes()).padStart(2, '0');
  
  return `${day} ${month} ${hours}:${minutes}`;
}

// 测试示例
const originalDate = "2018-03-19 13:02:53.0 UTC";
console.log(formatLastModified(originalDate)); // 输出:19 Mar 13:02

方式2:使用Intl.DateTimeFormat(推荐)

利用浏览器内置的国际化API,代码更简洁且兼容性好:

function formatLastModified(dateStr) {
  const utcDate = new Date(dateStr);
  // 配置格式化规则:英文、UTC时区、日(数字)、月(缩写)、小时/分钟(两位)
  const formatter = new Intl.DateTimeFormat('en-GB', {
    day: 'numeric',
    month: 'short',
    hour: '2-digit',
    minute: '2-digit',
    timeZone: 'UTC'
  });
  // 替换掉默认生成的逗号(比如默认输出是"19 Mar, 13:02")
  return formatter.format(utcDate).replace(',', '');
}

// 测试示例
console.log(formatLastModified("2018-03-19 13:02:53.0 UTC")); // 输出:19 Mar 13:02

后端Python场景

如果是在后端处理JSON数据再返回给前端,可以这样实现:

from datetime import datetime

def format_last_modified(date_str):
    # 解析UTC日期字符串,匹配原格式:YYYY-MM-DD HH:MM:SS.f UTC
    date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S.%f %Z")
    # 格式化为目标样式:日 月缩写 小时:分钟
    return date_obj.strftime("%d %b %H:%M")

# 测试示例
original_date = "2018-03-19 13:02:53.0 UTC"
print(format_last_modified(original_date)) # 输出:19 Mar 13:02

注意事项

  • 时区问题:一定要确保使用UTC时间进行格式化,避免本地时区偏移导致时间显示错误(比如上面的代码都明确指定了UTC时区处理)。
  • 月份缩写:如果需要其他语言的月份缩写,只需调整对应的语言参数(比如Intl.DateTimeFormat的第一个参数,或者Python中设置locale)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:27:05