formatDate
格式化日期为指定格式
日期输入
格式化模式
支持: YYYY, MM, DD, HH, mm, ss
格式化结果
2025-12-10 01:39:00函数签名
typescript
function formatDate(
date: Date | number | string,
format?: string
): string参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
date | Date | number | string | 是 | 日期对象、时间戳或日期字符串 |
format | string | 否 | 格式字符串,默认为 'YYYY-MM-DD HH:mm:ss' |
支持的格式占位符
| 占位符 | 说明 | 示例 |
|---|---|---|
YYYY | 四位年份 | 2024 |
MM | 两位月份 | 01-12 |
DD | 两位日期 | 01-31 |
HH | 两位小时(24小时制) | 00-23 |
mm | 两位分钟 | 00-59 |
ss | 两位秒 | 00-59 |
返回值
| 类型 | 说明 |
|---|---|
string | 格式化后的日期字符串 |
异常
| 错误类型 | 触发条件 | 错误信息 |
|---|---|---|
Error | 无效的日期 | 'Invalid date' |
工作原理
- 将输入转换为 Date 对象
- 验证日期是否有效
- 提取年、月、日、时、分、秒
- 对于月、日、时、分、秒,不足两位的前面补 0
- 替换格式字符串中的占位符
- 返回格式化后的字符串
使用示例
基本用法
typescript
const date = new Date('2024-03-15 14:30:45')
formatDate(date, 'YYYY-MM-DD')
// '2024-03-15'
formatDate(date, 'YYYY年MM月DD日 HH:mm:ss')
// '2024年03月15日 14:30:45'
formatDate(date, 'YYYY/MM/DD HH:mm')
// '2024/03/15 14:30'使用时间戳
typescript
const timestamp = 1710489045000
formatDate(timestamp, 'YYYY-MM-DD')
// '2024-03-15'