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

如何将数据库中以new Date()插入的日期转换为易读格式且无需修改入库逻辑

日期格式转换解决方案

无需修改现有入库逻辑,只需要在业务层/展示层对取出的ISO格式字符串做一次转换即可,两种可行实现方案如下:

方案1:原生JS实现(无第三方依赖)

你拿到的2021-09-24T12:38:54.656Z是标准ISO 8601格式的日期字符串,之前调用toLocaleString失效是因为没有先转成Date对象,按以下步骤操作即可:

  • 第一步:将日期字符串传入Date构造函数生成合法Date对象
const isoDateStr = '2021-09-24T12:38:54.656Z'
const dateObj = new Date(isoDateStr)
  • 第二步:调用toLocaleString方法自定义输出格式
    可以通过调整参数完全匹配你需要的Sept 25 2015, 8:00 PM样式:
const formattedDate = dateObj.toLocaleString('en-US', {
  year: 'numeric',
  month: 'short',
  day: 'numeric',
  hour: 'numeric',
  minute: '2-digit',
  hour12: true
}).replace(',', '')
// 输出示例:Sep 24 2021, 8:38 PM
// 如需将月份缩写从3位改为4位(比如Sep转Sept),可以额外加一个简单的月份映射替换即可

小提示:如果需要指定时区展示,可以在参数中新增timeZone配置项,比如设置timeZone: 'Asia/Shanghai'就会按照东八区的时间输出。

方案2:轻量日期库实现(适合多日期处理场景)

如果项目中存在大量日期格式化、计算需求,可以引入dayjs这类体积仅2KB的轻量日期库,代码更简洁易维护:

import dayjs from 'dayjs'
const formattedDate = dayjs('2021-09-24T12:38:54.656Z').format('MMM D YYYY, h:mm A')
// 直接输出目标格式:Sep 24 2021, 8:38 PM

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 23:57:03