如何使用力矩从两个日期范围到星期五到星期五

时间:2019-05-15 08:53:39

标签: momentjs

我试图以星期五作为开始日期,以星期五作为结束日期,我试图使用startOf / endOf week(week / isoweek),但是失败了。有什么办法可以使我在星期五的开始时间是星期五,在星期五的周末是周末。

Moment(date).startOf('week'); //或等周

输出应为 星期五

请求数据: 第一次约会= 05-09-2019 结束日期= 2019年5月15日(当前日期)

预期输出: [ {   周末开始:05-03-2019,   周末:05-10-2019 }, {   周末开始:05-10-2019,   周末:2019/5/17 } ]

3 个答案:

答案 0 :(得分:0)

没有设置星期几开始的选项。但是您可以使用

获取上周五的日期
moment().weekday(-2).format("YYYY-DD-MM")

答案 1 :(得分:0)

您可以使用以下方式更新语言环境的星期开始时间:

  @override
  void handleEvent(PointerEvent event, BoxHitTestEntry entry) {
    if (event.runtimeType == PointerDownEvent) {
      _touchActive = true;
      print("---------Down!---------");
    } else if (event.runtimeType == PointerUpEvent) {
      _touchActive = false;
      print("---------Up!---------");
    }
    assert(debugHandleEvent(event, entry));
    if (event is PointerDownEvent && isInteractive) {
      // We need to add the drag first so that it has priority.
      _drag.addPointer(event);
      _tap.addPointer(event);
    }
  }

答案 2 :(得分:0)

您可以执行简短的自定义功能,以始终根据传递的isoWeekDay为您提供一周的开始和结束时间:

let getCustomWeek = (dayOfWeek=7, date=new Date()) => {
  let firstDay, lastDay, passedDay = moment(date).isoWeekday(dayOfWeek)
	
  firstDay = moment(passedDay).subtract(1, 'week')
  lastDay = moment(firstDay).add(1, 'week')
	
  return { start: firstDay.format(), end: lastDay.format() }
}

let dateRange = ['05-09-2019', '05-15-2019']

console.log('Friday: ', dateRange.map(d => getCustomWeek(5, new Date(d))))
console.log('Wednesday: ', dateRange.map(d => getCustomWeek(3, new Date(d))))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>