MomentJS在给定的持续时间内获取下一个指定的日期

时间:2018-07-24 08:55:54

标签: javascript datetime momentjs

我有以下变量

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'

我坚持找出daystartDay期间endDay中设置的第一天是什么;我如何在momentJS中做到这一点。

1 个答案:

答案 0 :(得分: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>