首页 > 你问我答 >

js时间日期格式化封装函数

更新时间:发布时间:

问题描述:

js时间日期格式化封装函数,跪求大佬救命,卡在这里动不了了!

最佳答案

推荐答案

2025-07-09 07:12:02

js时间日期格式化封装函数】在JavaScript开发中,时间日期的格式化是一个非常常见的需求。不同的项目可能需要不同的日期格式,例如“YYYY-MM-DD”、“HH:mm:ss”或“DD/MM/YYYY”。为了提高代码的复用性和可维护性,通常会将日期格式化功能封装成一个函数。

以下是对常见JS日期格式化方法的总结,并附上一个通用的封装函数示例。

一、常用日期格式说明

格式符号 含义 示例
`yyyy` 四位年份 2025
`yy` 两位年份 25
`MM` 两位月份(01-12) 08
`M` 一位或两位月份 8
`dd` 两位日期 05
`d` 一位或两位日期 5
`hh` 12小时制小时 09
`HH` 24小时制小时 21
`mm` 分钟 30
`ss` 45
`S` 毫秒(1位) 7
`SS` 毫秒(2位) 68
`SSS` 毫秒(3位) 687

二、封装函数示例

```javascript

function formatDate(date, format) {

const pad = (num) => num.toString().padStart(2, '0');

const year = date.getFullYear();

const month = pad(date.getMonth() + 1); // 月份从0开始

const day = pad(date.getDate());

const hours = pad(date.getHours());

const minutes = pad(date.getMinutes());

const seconds = pad(date.getSeconds());

return format

.replace(/yyyy/g, year)

.replace(/yy/g, year.toString().slice(-2))

.replace(/MM/g, month)

.replace(/M/g, month.replace(/^0/, ''))

.replace(/dd/g, day)

.replace(/d/g, day.replace(/^0/, ''))

.replace(/HH/g, hours)

.replace(/hh/g, hours)

.replace(/mm/g, minutes)

.replace(/ss/g, seconds);

}

```

三、使用示例

```javascript

const now = new Date();

console.log(formatDate(now, "yyyy-MM-dd HH:mm:ss")); // 输出:2025-04-05 14:30:45

console.log(formatDate(now, "dd/MM/yyyy")); // 输出:05/04/2025

console.log(formatDate(now, "hh:mm:ss SSS")); // 输出:02:30:45 687

```

四、注意事项

- 如果传入的参数不是`Date`对象,函数可能会出错,建议添加类型判断。

- 可以根据项目需求扩展更多格式支持,如星期几、时区等。

- 使用原生`Date`对象时,注意不同浏览器对日期处理的兼容性。

通过以上封装函数,开发者可以更方便地进行日期格式化操作,提升代码的可读性和可维护性。

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。