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

使用date-fns将带时分的日期转换为ISO格式的方法

使用date-fns将自定义日期时间转换为ISO格式

没问题,用date-fns处理这个转换非常直接,只需要两步:解析原始日期字符串和格式化为ISO 8601标准格式。下面是具体的实现步骤和代码示例:

1. 先确保安装date-fns

如果还没安装这个库,先通过包管理器安装:

npm install date-fns
# 或者用 yarn
yarn add date-fns

2. 编写转换代码

关键是要精确匹配你输入的日期格式(注意字符串里的空格细节),然后用date-fns的parse函数解析成Date对象,再转成ISO格式。

示例代码:

import { parse, formatISO } from 'date-fns';

// 你的原始日期时间字符串
const inputDateTime = '15/07/2019, 18 : 07';

// 第一步:解析字符串为Date对象
// 这里的格式模板必须完全匹配输入字符串的结构,包括空格!
const parsedDate = parse(
  inputDateTime,
  'dd/MM/yyyy, HH : mm', // 对应「日/月/年, 小时 : 分钟」的格式
  new Date() // 当解析失败时的 fallback 日期
);

// 第二步:转换为ISO格式
// 方式1:输出带时区偏移的ISO格式(比如你的本地时区是UTC+8,会输出类似 '2019-07-15T18:07:00+08:00')
const isoWithOffset = formatISO(parsedDate);

// 方式2:输出带Z的UTC格式(和你给出的示例格式一致,比如 '2019-07-15T10:07:00.000Z')
const isoUtc = parsedDate.toISOString();

console.log(isoUtc); // 这就是你需要的类似示例的格式

重要说明

  • 解析格式模板'dd/MM/yyyy, HH : mm'必须严格对应输入字符串的结构:dd代表两位日期,MM代表两位月份,yyyy是四位年份,后面的, HH : mm完全匹配输入里的逗号、空格、冒号加空格的格式,不能出错,否则解析会失败。
  • 如果你的原始日期是UTC时间而非本地时间,可以用date-fns-tz扩展库来处理时区,但如果只是需要转成示例中的UTC+Z格式,用原生的toISOString()就足够了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:45:02