![](/img/trans.png)
[英]How to find exact duration between two Unix dates (in days) using MomentJS?
[英]Using momentjs / lodash, how can I add days / weeks between 2 dates?
我有一个开始日期(一个星期日)和一个结束日期(一个星期六),我想创建一个数组,在它们之间有所有的星期日。
这是我到目前为止的内容:
weeks = [{
start: startDate,
end: angular.copy(startDate).add(6, 'days')
}];
while(_.last(weeks).end <= endDate) {
weeks.push({
start: angular.copy(_.last(weeks)).start.add(7, 'days'),
end: angular.copy(_.last(weeks)).end.add(7, 'days')
})
}
这感觉非常混乱,而且某种程度上是错误的。 它增加了几天,但只应增加一天。 我不太在乎end
日期,但是如果我能得到,我会接受。
以下是一个基于while循环的简单解决方案。 我认为lodash语法只会使情况复杂化。
从第一个星期日开始,然后重复添加7天,直到结束星期六为止。 将矩对象的克隆推入数组。 如果不克隆,最终会得到与您继续引用单个矩对象相同日期的列表,在本例中为start
。
var start = moment('2016-09-18'); //last sunday
var finish = moment('2016-10-29'); //saturday in october
// an array of moment objects
var sundays = [start.clone()]; // include the first sunday
// foreach additional sunday, clone it into an array
while(start.add(7, 'days').isBefore(finish)) {
sundays.push(start.clone());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.