JavaScript日期格式化推荐优先使用原生方法满足简单需求,复杂场景选用Day.js或date-fns;Moment.js已不推荐新项目使用。

JavaScript 中格式化日期,原生方法能应付基础需求,但处理时区、多语言、相对时间或复杂模板时容易出错。推荐用成熟库来减少 bug 和开发时间。
原生 Date 对象的常用格式化方式
不用额外库也能快速得到常见格式,适合简单场景:
-
toLocaleDateString():按用户本地习惯输出,支持 locale 和 options 参数,比如
new Date().toLocaleDateString('zh-CN', { year: 'numeric', month: '2-digit', day: '2-digit' })→"2024-06-15" -
toISOString():返回标准 ISO 8601 字符串(UTC 时间),如
"2024-06-15T08:30:45.123Z",适合存储或 API 交互 -
手动拼接:用
getFullYear()、getMonth() + 1、getDate()等组合,注意月份从 0 开始、补零需自行处理
Day.js:轻量且够用的现代选择
体积小(约 2KB)、不可变、API 类似 Moment.js,是当前最主流的轻量替代方案:
- 安装:
npm install dayjs - 基本用法:
dayjs().format('YYYY-MM-DD HH:mm:ss') - 支持插件扩展:如
relativeTime(“2 小时前”)、timezone(时区转换)、locale(中文/日文等) - 不修改原 Date 对象,无全局污染,Tree-shaking 友好
date-fns:函数式、可拆分的工具集
以纯函数设计,每个功能独立导出,适合按需引入、避免冗余代码:
标签: javascript java js node.js git node typescript npm 浏览器 工具 多语
还木有评论哦,快来抢沙发吧~