【问题标题】:fullcalendar: total duration of all events per day in WEEK VIEWfullcalendar:每周视图中每天所有事件的总持续时间
【发布时间】:2023-03-10 09:55:02
【问题描述】:

我无法理解如何在周视图而非月视图中计算每天事件的总持续时间。

所以我知道周一到周五的情况,假设周一有 3 个事件,每个事件时长 10 分钟。我想将其计算为总计 30,然后在标题中显示在星期一旁边的 30。

那么周五有 2 个活动,每个 20 分钟。我需要在下周五看到 40 分钟。

目前这是我为每个活动所做的:

  var duration = moment.duration(event.end.diff(event.start));
                var mins = duration.asMinutes();
                element.find('.fc-title').append("<span class ='timeduration'>" + " " + mins + " min." + "</span>");

请帮我计算一周中每一天的总数。

【问题讨论】:

  • 您是在某处保存事件,还是应该像预览窗口一样,什么都没有保存?
  • 我没有保存任何东西。上面的代码仅显示基于开始结束日期的每个事件的分钟数。我不知道如何实现每天的总数。

标签: javascript fullcalendar momentjs


【解决方案1】:

也许这样可以:

var durations = [];
  
    $('#calendar').fullCalendar({
      defaultDate: '2017-01-01',
      defaultView: 'agendaWeek',
      events: [{
        title: 'event 1',
        start: '2017-01-05 11:00',
        end: '2017-01-05 13:00',
      }, {
        title: 'event 2',
        start: '2017-01-05 08:00',
        end: '2017-01-05 09:00'
      }, {
        title: 'event 3',
        start: '2017-01-06 11:00',
        end: '2017-01-06 13:00',
      }, {
        title: 'event 4',
        start: '2017-01-06 08:00',
        end: '2017-01-06 10:00'
      }],
      dayRender: function(date, cell) {
        durations[date.format('YYYY-MM-DD')] = 0;
      },
      eventAfterAllRender: function(view) {
        $('#calendar').fullCalendar('clientEvents', function(event) {
          var duration = moment.duration(event.end.diff(event.start));
          var mins = duration.asMinutes();
          var dateTotal = durations[event.start.format('YYYY-MM-DD')];
          durations[event.start.format('YYYY-MM-DD')] = dateTotal + mins;
        });

        for (var key in durations) {
          $('th.fc-day-header[data-date="' + key + '"]').append('&nbsp;<span>duration: ' + durations[key] + '</span>');
        }
      }
    });

查看fiddle

【讨论】:

  • 完美!正是我需要的。谢谢你! Dziękuję
  • 很高兴我能帮上忙! Proszę bardzo!
猜你喜欢
  • 2019-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
相关资源
最近更新 更多