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

如何将JavaScript本地DateTime转换为MySQL Datetime格式?

将本地DateTime转换为MySQL Datetime的最优方法

针对你的需求,这里提供几种实用方法,按推荐优先级排序:

1. 原生JavaScript手动拼接(无依赖,性能最优)

无需引入任何库,直接通过Date对象的方法获取各时间部分并补零拼接,是最轻量化的方案:

const date1 = new Date(1658483664000);

// 获取年、月(月份需+1,因为Date的月份是0-11)、日
const year = date1.getFullYear();
const month = String(date1.getMonth() + 1).padStart(2, '0');
const day = String(date1.getDate()).padStart(2, '0');

// 获取时、分、秒
const hours = String(date1.getHours()).padStart(2, '0');
const minutes = String(date1.getMinutes()).padStart(2, '0');
const seconds = String(date1.getSeconds()).padStart(2, '0');

// 拼接成MySQL Datetime格式
const mysqlDatetime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
console.log(mysqlDatetime); // 输出:2022-07-22 16:54:24

padStart(2, '0')用于保证月份、日期、时分秒始终为两位数字(比如把7转为07),避免格式错误。

2. 使用原生Intl.DateTimeFormat(灵活适配场景)

如果需要更灵活的时区或本地化配置,可以用原生国际化API来处理:

const date1 = new Date(1658483664000);
const formatter = new Intl.DateTimeFormat('en-CA', {
  year: 'numeric',
  month: '2-digit',
  day: '2-digit',
  hour: '2-digit',
  minute: '2-digit',
  second: '2-digit',
  hour12: false, // 使用24小时制
  // 可指定时区,不填则默认本地时区
  // timeZone: 'Asia/Jakarta'
});

// 提取各时间部分并拼接
const parts = formatter.formatToParts(date1);
const mysqlDatetime = `${parts.find(p => p.type === 'year').value}-${parts.find(p => p.type === 'month').value}-${parts.find(p => p.type === 'day').value} ${parts.find(p => p.type === 'hour').value}:${parts.find(p => p.type === 'minute').value}:${parts.find(p => p.type === 'second').value}`;
console.log(mysqlDatetime); // 输出:2022-07-22 16:54:24

3. 第三方日期库简化代码(适合已有依赖的项目)

如果项目已经引入了date-fns或类似日期库,可以用更简洁的代码实现:

import { format } from 'date-fns';

const date1 = new Date(1658483664000);
const mysqlDatetime = format(date1, 'yyyy-MM-dd HH:mm:ss');
console.log(mysqlDatetime); // 输出:2022-07-22 16:54:24

注意:moment.js已进入维护状态,不推荐新项目使用,优先选择date-fns。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 16:36:10