在制作echarts图表时,通常要求显示一周内数据情况,普通情况下,昨天就用当前日期-1即可,一周内日期以此类推;但如果遇到跨月、甚至跨年时,日期又该如何计算呢?
今天分享一个一劳永逸的方法,不需要借助第三方工具即可实现。
先上代码
//n为计算前n天的日期;n=1:计算前一天日期
getPreviousData(n) {
let tt = Date.parse(new Date());
let dd = new Date(parseInt(tt - 86400000 * n));
let year= dd.getFullYear();
let month = dd.getMonth() + 1;
let day = dd.getDate();
return { year, month, day };
},
//调用
var date1 = getPreviousData(1);
console.log(date1.year,date1.month,date1.day);//2024, 1, 15
思路其实很简单,首先获取当前的时间戳 tt,使用当前时间戳 减去 一天的时间(86400000微秒),得到昨天此时的时间戳,将时间戳转为日期 dd,然后通过.getFullYear()、.getMonth()、.getDate()获取日期即可。
依靠这个思路,可实现任何指定时间往前、往后n天的日期计算!
如果对你有帮助,就请点个赞吧