当我们需要获取前n天的日期时,可以利用JavaScript的Date对象和数组的方法来完成,以下是两种实现方法:
方法一:使用Date对象
/**
* 根据当前日期计算前n天的日期
* @param {Number} n 前n天的日期
*/
function getNDaysBefore(n) {
var now = new Date();
var last = new Date(now.getTime() - n * 24 * 3600 * 1000);
var year = last.getFullYear();
var month = last.getMonth() + 1;
var date = last.getDate();
return year + '-' + month + '-' + date;
}
console.log(getNDaysBefore(7)); // 输出7天前的日期,例如:2019-10-23
该函数接受一个参数n表示要获取前几天的日期,通过Date对象的getTime()方法获取当前日期的毫秒数,然后根据n天的毫秒数得到n天前的日期,最后格式化日期字符串输出。
方法二:使用数组的map方法
/**
* 根据当前日期计算前n天的日期
* @param {Number} n 前n天的日期
*/
function getNDaysBefore(n) {
var now = new Date();
var days = new Array(n).fill('').map((item, index) => {
var date = new Date(now.getTime() - (index + 1) * 24 * 3600 * 1000);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
return year + '-' + month + '-' + day;
})
return days;
}
console.log(getNDaysBefore(7)); // 输出7天前到昨天的日期字符串数组,例如:['2019-10-23', '2019-10-24', '2019-10-25', '2019-10-26', '2019-10-27', '2019-10-28', '2019-10-29']
该函数接受一个参数n表示要获取前几天的日期,通过数组的fill方法创建一个长度为n的数组,然后通过数组的map方法遍历每一项,依次计算出前i天的日期字符串,最后返回一个包含这几天日期字符串的数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript中取前n天日期的两种方法分享 - Python技术站