js封装格式化函数 yyyy-mm-dd格式
时间: 2024-01-05 18:05:09 浏览: 140
以下是一个JavaScript函数,可将日期格式化为yyyy-mm-dd格式:
```javascript
function formatDate(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
// 如果月份或日期小于10,就在前面添加0
if (month < 10) {
month = '0' + month;
}
if (day < 10) {
day = '0' + day;
}
return year + '-' + month + '-' + day;
}
// 使用示例:
var date = new Date();
var formattedDate = formatDate(date); // 格式化为yyyy-mm-dd格式
console.log(formattedDate); // 输出格式化后的日期字符串,例如:2021-01-01
```
该函数接受一个Date对象作为参数,并返回一个格式为yyyy-mm-dd的日期字符串。在函数中,我们使用Date对象的getYear、getMonth和getDate方法来获取年份、月份和日期。然后,我们检查月份和日期是否小于10,如果是,则在前面添加一个0。最后,我们将年份、月份和日期组合成一个字符串并返回它。
相关问题
ts封装时间格式化函数
以下是一个简单的 TypeScript 时间格式化函数的封装示例:
```typescript
function formatDate(date: Date, format: string): string {
const year = date.getFullYear().toString();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
const hours = date.getHours().toString().padStart(2, '0');
const minutes = date.getMinutes().toString().padStart(2, '0');
const seconds = date.getSeconds().toString().padStart(2, '0');
const formattedDate = format
.replace('YYYY', year)
.replace('MM', month)
.replace('DD', day)
.replace('hh', hours)
.replace('mm', minutes)
.replace('ss', seconds);
return formattedDate;
}
```
该函数接受两个参数:一个 JavaScript Date 对象和一个格式字符串。格式字符串中可以使用以下占位符:
- YYYY:四位数的年份
- MM:月份(01 到 12)
- DD:日期(01 到 31)
- hh:小时(00 到 23)
- mm:分钟(00 到 59)
- ss:秒钟(00 到 59)
例如,可以使用以下代码调用该函数:
```typescript
const date = new Date();
const formattedDate = formatDate(date, 'YYYY-MM-DD hh:mm:ss');
console.log(formattedDate);
```
这将输出当前日期和时间的格式化字符串,例如 `2022-01-01 12:34:56`。
这段代码 let now = new Date(); // 获取年份、月份和日期 let year = now.getFullYear(); let month = now.getMonth() + 1; let day = now.getDate(); // 格式化为 "YYYY-MM-DD" 的字符串 let dateString = year + '-' + (month < 10 ? '0' + month : month) + '-' + (day < 10 ? '0' + day : day); that.setData({ dateString: dateString, })与 function formatDate(date) { const year = date.getFullYear(); const month = date.getMonth() + 1; const day = date.getDate(); return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`; } const dateString = formatDate(new Date());有什么区别,他们那个代码更好
这两段代码的功能是一样的,都是获取当前日期并格式化为"YYYY-MM-DD"的字符串。它们的区别在于第一段代码使用了一个临时变量"dateString"来存储格式化后的字符串,而第二段代码则直接将格式化后的字符串作为函数的返回值。
从代码简洁性和可读性的角度来看,第二段代码更好。它将日期格式化的逻辑封装在一个函数中,代码结构更加清晰,而且不需要使用临时变量来存储结果。
阅读全文