[英]Moment.js - find previous range based on current range of date
我正在使用 Moment.js 的插件 - moment-range
是否可以根据当前日期范围获取先前的日期范围。 例如我有以下场景:
var currentStart = new Date(2014,11,01);
var currentEnd = new Date(2015,10,01);
上面的范围是11months ,现在我们需要前 11months ,在这种情况下将是:
var previousStart = new Date(2013,11,01);
var previousEnd = new Date(2014,10,01);
我不确定计算前几个月范围的最佳方法是什么,或者是否有更简单的方法来处理日期范围。
有任何想法吗!?
这是基于您设置的任何日期的当前范围的先前范围:
var dateStart = "01-01-2021";
var dateEnd = "01-31-2021";
// calcule date diff between two date
var diffDays = (Math.ceil((Math.abs(new Date(dateEnd) - new Date(dateStart)))/ (1000 * 60 * 60 * 24))) + 1;
// Get Previous Date Start (Needed for Percent)
var previousStart.setDate(new Date(dateStart).getDate() - diifDaysFinale);
// Get Previous Date End (Needed for Percent)
var previousEnd.setDate(new Date(previousDateStart).getDate() + (diffDays-1));
console.log("previousStart: ",previousStart);
console.log("previousEnd: ",previousEnd);
或通过使用时刻:
var previousStart = moment(dateStart).subtract(moment(dateEnd).diff(moment(dateStart), 'days') + 1,'days').format('YYYY-MM-DD');
var previousEnd = moment(dateStart).subtract(1,'day').format('YYYY-MM-DD');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.