1

こんにちは私はrhis要素を持っていますthis elements 私はJquery FullCalendarで表示する必要があります。あなたが見ることができますどのようにFullCalendarには常に2時間のイベントが表示されます

<script type="text/javascript"> 
 

 
     $(document).ready(function() { 
 

 
       calendarcreate(); 
 
       var obj; 
 
      }); 
 

 
      function calendarcreate() { 
 
       $.ajax({ 
 
       type: "POST", 
 
       contentType: "application/json; charset=utf-8", 
 
       data: "{}", 
 
       dataType:"json", 
 
       url: "Calendario.aspx/GetEvents",     
 
       success: function (data) { 
 
        $('#<%=fullcal.ClientID%>').fullCalendar({ 
 
         firstDay: 1, 
 
         monthNames: ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'], 
 
         monthNamesShort: ['Gen', 'Feb', 'Mar', 'Apr', 'Mag', 'Giu', 'Lug', 'Ago', 'Set', 'Ott', 'Nov', 'Dic'], 
 
         dayNames: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'], 
 
         dayNamesShort: ['Dom', 'Lun', 'Mar', 'Mer', 'Gio', 'Ven', 'Sab'], 
 
         buttonText: { 
 
          today: 'Oggi', 
 
          month: 'Mese', 
 
          day: 'Giorno', 
 
          week: 'Settimana', 
 
          prev: 'Prec', 
 
          next: 'Succ' 
 
         }, 
 
         header: { 
 
          left: 'today', 
 
          center: 'title', 
 
          right: 'prev,next' 
 
         }, 
 
         timeFormat: "H:mm", 
 
         slotLabelFormat: "H:mm", 
 
         slotLabelInterval: '00:30:00', 
 
         defaultView: "agenda", 
 
         allDaySlot: true, 
 
         allDayText: 'Tutto il Giorno', 
 
         minTime: "08:00:00", 
 
         maxTime: "22:00:00", 
 
         displayEventEnd: true, 
 
         axisFormat: 'H:mm', 
 
         titleFormat: 'D MMMM YYYY', 
 
         columnFormat: 'ddd D/M', 
 
         //inserimento appuntamenti da Ajax 
 
         events: $.map(data.d, function (item, i) { 
 
          var event = new Object(); 
 
          event.id = item.EventID; 
 

 
          alert(item.StartHour); 
 
          alert(item.EndHour); 
 
          event.start = new Date(item.DateYear, item.DateMonth - 1, item.DateDay, item.StartHour, item.StartMinute); 
 
          event.end = new Date(item.DateYear, item.DateMonth - 1, item.DateDay, item.EndHour, item.EndMinute); 
 
          event.title = item.EventName; 
 
          event.color = item.Color; 
 

 
          event.allDay = false; 
 

 
          return event; 
 
         }) 
 
        }); 
 
       }, 
 
       error: function (XMLHttpRequest, textStatus, errorThrown) 
 
       { debugger; } 
 
      }); 
 

 
     } 
 
    </script>

、データ2016年9月16日のイベントは、次のとおりです。私はFullCalendarのイベント作成に入れアラートで

- Id = 6, From 11.30 To 12.30 
- Id = 7, From 10.30 To 11.30 

は私に権利を示し終了時。長さの

- Id = 6 From 11.30 To 13.30 
- Id = 7 From 10.30 To 12.30 

だから、常に2時間

:だから、データ2016年9月16日のイベントのためには、問題がFullCalendarが私にこのようなイベントを示すことで、私12および11

警告しますFullCalendar Rendering events

答えて

1

FullCalendarは、JavaScript Dateオブジェクトではなく、moment.jsオブジェクトでネイティブに動作します。 moment.jsライブラリはすでにfullCalendarに含まれています。これで

event.start = new Date(item.DateYear, item.DateMonth - 1, item.DateDay, item.StartHour, item.StartMinute); 
event.end = new Date(item.DateYear, item.DateMonth - 1, item.DateDay, item.EndHour, item.EndMinute); 

event.start = moment({ y: item.DateYear, M: item.DateMonth - 1, d: item.DateDay, h: item.StartHour, m: item.StartMinute, s: 0, ms: 0}); 
event.end = moment({ y: item.DateYear, M: item.DateMonth - 1, d: item.DateDay, h: item.EndHour, m: item.EndMinute, s: 0, ms: 0}); 

をまた、あなたが01である:00タイムゾーン(イタリア)あなたがこれを交換する場合

はこのようにそれがベストですか?この問題はそれによって引き起こされる可能性があります。その場合、タイムゾーンを適切に処理できるfullCalendarのオプションがあります。

+1

新しい日付を瞬時に置き換えて解決しました! – Martina

関連する問題