【问题标题】:MomentJS get the next specified day within a given durationMomentJS 在给定的持续时间内获取下一个指定的日期
【发布时间】:2018-07-24 08:55:53
【问题描述】:
我有以下变量
let startDay = moment(this.props.startDay); // DD-MM-YYYY HH:mm:ss
let endDay = moment(this.props.endDay); // DD-MM-YYYY HH:mm:ss
我收到一周中的一天作为字符串
let day= this.props.day; // 'Ex: Monday'
我一直在找出day 在startDay 和endDay 的持续时间内设置的第一天;我如何在 momentJS 中做到这一点。
【问题讨论】:
标签:
javascript
datetime
momentjs
【解决方案1】:
您可以从开始日期循环到结束日期,并在每次迭代中检查日期是否匹配。如果找到匹配项,则停止循环。
let startDay = moment('24-10-2018 12:00:00', 'DD-MM-YYYY HH:mm:ss');
let endDay = moment('01-11-2018 12:00:00', 'DD-MM-YYYY HH');
let day = 'Monday';
while (endDay.diff(startDay, 'day') !== 0) {
if (startDay.format('dddd') === day) {
break;
}
startDay.add(1, 'day');
}
console.log(startDay.format('dddd, DD-MM-YYYY'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>