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

如何将指定格式的JavaScript日期转换为YYYYMMDDHHMMSS格式

解决JavaScript日期转YYYYMMDDHHMMSS格式的方案

嘿,刚好做过类似的需求,给你一个简洁可靠的实现方法!我们需要把Mon Apr 16 2018 19:00:00 GMT-0500 (Central Daylight Time)这种标准JS Date对象(或日期字符串)转换成YYYYMMDDHHMMSS格式的字符串,核心思路就是提取每个时间维度的数值,补零后拼接成目标格式。

实现代码(ES6+版本)

function formatDateToYYYYMMDDHHMMSS(date) {
  // 先统一输入为Date对象,如果是字符串就先转换
  const targetDate = typeof date === 'string' ? new Date(date) : date;
  
  const year = targetDate.getFullYear();
  // 注意:JS月份是0-11,必须加1后再补零到2位
  const month = String(targetDate.getMonth() + 1).padStart(2, '0');
  const day = String(targetDate.getDate()).padStart(2, '0');
  const hours = String(targetDate.getHours()).padStart(2, '0');
  const minutes = String(targetDate.getMinutes()).padStart(2, '0');
  const seconds = String(targetDate.getSeconds()).padStart(2, '0');
  
  return `${year}${month}${day}${hours}${minutes}${seconds}`;
}

// 测试示例
const originalDateStr = 'Mon Apr 16 2018 19:00:00 GMT-0500 (Central Daylight Time)';
console.log(formatDateToYYYYMMDDHHMMSS(originalDateStr)); // 输出: 20180416190000

兼容性处理(ES6之前版本)

如果你的项目需要兼容不支持padStart的旧环境,可以自己实现一个简易补零函数:

function padZero(num) {
  return num < 10 ? '0' + num : num.toString();
}

function formatDateToYYYYMMDDHHMMSS(date) {
  const targetDate = typeof date === 'string' ? new Date(date) : date;
  
  const year = targetDate.getFullYear();
  const month = padZero(targetDate.getMonth() + 1);
  const day = padZero(targetDate.getDate());
  const hours = padZero(targetDate.getHours());
  const minutes = padZero(targetDate.getMinutes());
  const seconds = padZero(targetDate.getSeconds());
  
  return year + month + day + hours + minutes + seconds;
}

关键注意点

  • 月份坑点:JS的getMonth()返回值是0到11,对应1月到12月,所以一定要加1才能得到实际的月份数字
  • 补零必要性:确保日期、月份、小时等部分都是两位数字,避免出现201841690000这种格式错误的结果
  • 输入校验(可选):如果不确定输入是否为合法Date对象,可以在函数开头加校验:if (!(targetDate instanceof Date) || isNaN(targetDate)) return '';,避免报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:49:18