本周用到了一个大屏的内容,多次需要使用日期和随机的一些数据,来进行一些数据的渲染,所以就查了一下资料,自己总结了一下,关于这几个函数的快速使用。
第一个函数:就是进行日期时间的获取,然后进行一些格式上的限制
// 获取一周时间列表函数
const getWeektime = () => {
let weekDate = new Date(); // 获取今天日期
const dateArray = [];
for (let i = 0; i < 7; i++) { // 看你需要展示几天了
dateArray.push(weekDate.toLocaleDateString('zh').replaceAll('/', '-')); // 转化时间格式为 2023-12-2
weekDate.setDate(weekDate.getDate() - 1);
}
let reversearr = dateArray.reverse() // 时间数组反转排序
return reversearr
}
最后得到的结果就是:
其中有两个方法的使用,一个是 toLocaleDateString 的使用,一个就是数组的反转排序,toLocaleDateString 这个是也是逛论坛看到的,主要就是对日期格式进行转换 这个那个帖子上大佬的详细介绍 (哈哈,虽然不懂原理,但是明白会用就行)
下面用浏览器提供的 toLocaleString 接口来实现。同样输出 2019-09-27 16:23:21 这样的格式。
new Date().toLocaleString('zh', { hour12: false }).replaceAll('/', '-')
如果只想获取日期也可以用 toLocaleDateString 接口,例如输出 2019-09-27 这样的格式
new Date().toLocaleDateString('zh').replaceAll('/', '-')
如果只想获取时间也可以用 toLocaleTimeString 接口,例如输出 16:23:21 这样的格式
new Date().toLocaleTimeString('zh', { hour12: false })
二、第二个函数就是生成随机数了,比较简单
// 获取随机数的随机整数数组
const randomNum = (min,max,count) =>{
const result = [];
for (let i = 0; i < count; i++) {
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
result.push(randomNum);
}
return result;
}
第三个是过滤的使用
// 过滤时间数组中的数据,变成新类型
const filterAndConvertDate= (arr) => {
return arr.map(date => {
const [year, month, day] = date.split('-');
return `${month}-${day}`;
});
}
这个时候就把之前我们得到的时间数组进行过滤就行使用 filterAndConvertDate(getWeektime())
这里得到的是month-day的内容
如下:所展示
关于toLocaleString原文链接:https://blog.csdn.net/userkang/article/details/113381215