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

如何用JavaScript将数据库日期转换为dd.mm.yyyy HH:mm格式?

解决JavaScript日期格式转换问题

针对你需要将数据库返回的ISO格式日期转换为dd.mm.yyyy HH:mm的需求,这里提供两种实用的实现方案:

方法1:原生JavaScript手动处理(兼容全浏览器)

适合需要兼容旧版浏览器的场景,手动提取日期时间各部分并格式化:

// 定义日期格式化函数
function formatDate(dateStr) {
  const date = new Date(dateStr);
  // 补零工具函数:确保数字为两位字符串
  const padZero = num => num.toString().padStart(2, '0');
  
  const day = padZero(date.getDate());
  const month = padZero(date.getMonth() + 1); // 月份从0开始,需加1
  const year = date.getFullYear();
  const hours = padZero(date.getHours());
  const minutes = padZero(date.getMinutes());
  
  return `${day}.${month}.${year} ${hours}:${minutes}`;
}

// 修改你的现有代码
tablerow = $('<tr/>');
tablerow.append(`<td class="border-bottom-0">${formatDate(value.createDate)}</td>`);

方法2:使用Intl.DateTimeFormat(现代浏览器推荐)

利用现代浏览器原生API,代码更简洁,还能灵活处理时区:

// 定义日期格式化函数
function formatDate(dateStr) {
  const date = new Date(dateStr);
  // 配置格式化规则
  const options = {
    day: '2-digit',
    month: '2-digit',
    year: 'numeric',
    hour: '2-digit',
    minute: '2-digit',
    hour12: false // 强制使用24小时制
  };
  // 格式化后默认带逗号,替换为空格即可匹配需求格式
  return new Intl.DateTimeFormat('de-DE', options).format(date).replace(',', '');
}

// 修改你的现有代码
tablerow = $('<tr/>');
tablerow.append(`<td class="border-bottom-0">${formatDate(value.createDate)}</td>`);

补充说明

  • 数据库返回的是带时区的ISO字符串,new Date()会自动解析时区并转换为本地时间。如果需要保留原时区(如+03:00)的时间,可改用date.getUTCHours()等UTC方法提取对应时区的时间值。
  • 若需兼容ES2017之前的旧浏览器,可将padStart替换为简易补零逻辑:
    const padZero = num => (num < 10 ? '0' : '') + num;
    

内容的提问来源于stack exchange,提问作者Gökmen Ada

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:23:14