【问题标题】:How to set start and end time in full calendar for the start and end date [duplicate]如何在完整日历中设置开始和结束日期的开始和结束时间[重复]
【发布时间】:2018-11-01 15:37:48
【问题描述】:

我设计了一个日历,它应该显示轮班开始和结束日期以及轮班时间 如果员工在 10 月 1 日至 10 月 7 日被分配早班,如果早班时间为 09:00 -18:00,则该事件应显示在日历中,时间为 10 月 1 日至 10 月 7 日,时间为 9-18 .在我的代码中,它仅根据日期创建事件,并且不考虑时间

 var date = new Date();
    var d = date.getDate();
    var m = date.getMonth();
    var y = date.getFullYear();
    var form = '';
    var today = new Date($.now());

    var calendar = $('#calendar').fullCalendar({
        slotDuration: '00:15:00', /* If we want to split day time each 15minutes */
        minTime: '00:00:00', /* calendar start Timing */
        maxTime: '24:00:00',  /* calendar end Timing */
        defaultView: 'month',  
        handleWindowResize: true,   
        height: $(window).height() - 200,   
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
            // right: ''

        },
        events: [
           {
            title: 'Morning Shift',
            start: new Date('09/25/2018'),
            end: new Date('10/05/2018'),
            className: 'bg-primary'
        },
        {
            title: 'Night Shift',
            start: new Date('09/25/2018'),
            end: new Date('10/05/2018'),
            className: 'bg-primary'
        },
         {
            title: 'Regular Shift',
            start: new Date('09/25/2018'),
            end: new Date('10/05/2018'),
            className: 'bg-primary'
        }
    ],});

【问题讨论】:

  • “在我的代码中,它仅根据日期创建事件”...那是因为您只给了它日期,而没有时间。您有两种选择:1) 在所需时间段内为每一天创建一个单独的事件,并将时间包含在开始/结束日期的一部分中。 2) 使用here 所示的技术,允许您声明一个事件,然后在指定日期范围内的所有日子里,在相同的开始和结束时间重复呈现该事件。

标签: javascript jquery html fullcalendar


【解决方案1】:

如果您想在完整的日历活动中包含时间,您需要传递这样的设置

$('#calendar').fullCalendar({
  events: [
    {
      title:  'My Event',
      start:  '2010-01-01T14:30:00',
      allDay: false
    }
    // other events here...
  ],
  timeFormat: 'H(:mm)' // uppercase H for 24-hour clock
});

您还需要启用布尔值以显示时间“displayEventTime” 有关时间formatdisplayEvent,请参阅完整日历文档。

如果以上不是您的要求。参考Repeat fullcalendar events daily, monthly and yearly

【讨论】:

  • 我已经将此标记为一个问题的副本,该问题对重复事件问题有更简洁的解决方案 - 请参阅上面的 cmets。
  • 你标记的和他需要的不完全一样。
  • 是的,他想在他的轮班时间段内每天显示一个事件,显示每天的时间。完全符合要求。您认为还有什么要求?
  • @NegiRox 与您所说的相似。在您的代码中,它认为班次从 10 月 1 日 14:30 开始到 x 日期。当我去查看日期时,它标记了所有日子里的 24 小时。但轮班只会在那里工作 8 小时。我想要从 10 月 1 日到 10 月 7 日的上午 8 点到下午 6 点。应该只标记那些日子的给定时间,而不是全部 24 小时
  • @Subasri 阅读了我给的链接,它可以让你做到这一点