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

在JavaScript(Node.js)中如何解析'202111031437'类字符串为日期对象

Node.js 解析紧凑数字格式日期时间字符串方案

问题现象

需要将202111031437这类由连续数字组成的YYYYMMDDHHmm格式日期时间字符串解析为Date对象,直接调用Date.parse()解析失败,测试代码如下:

let datetime = '202111031437';
let parse = Date.parse(datetime);
console.log(parse);

原因说明

JavaScript 内置的Date.parse()方法与Date构造函数仅支持解析符合 ISO 8601 或 RFC 2822 规范的日期格式,上述紧凑数字串不属于标准可识别格式,因此无法直接解析。

实现方案

通过字符串截取拆分出年、月、日、时、分字段,拼接为标准日期格式后再初始化Date对象即可,实现代码如下:

const dateParser = (dateString) => {
  const year = dateString.substring(0, 4);
  const month = dateString.substring(4, 6);
  const day = dateString.substring(6, 8);
  const hour = dateString.substring(8, 10);
  const min = dateString.substring(10, 12);
  const dateConcat = year + "-" + month + "-" + day + " " + hour + ":" + min;
  const dateTime = new Date(dateConcat);

  return dateTime;
}

注意事项

  • 如果输入的日期字符串包含秒(格式为YYYYMMDDHHmmss),可新增截取索引12到14位的秒字段,拼接时追加对应内容即可
  • 可根据业务场景新增入参长度校验逻辑,避免非法输入导致解析异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 12:15:02