Когда полный календарь реализован на локальном компьютере, он работает должным образом. Но когда я пытаюсь разместить на сервере, расположенном в Великобритании, временные события, не назначенные должным образом. Причиной является проблема времени. Примечание: изменение параметра часового пояса с локального на utc или наоборот наоборот не помогает.
Backend : c# MVC
Используемые плагины версия:
FullCalendar v3.6.1
Moment.js :version : 2.19.2
Требования:
Событие должно отображаться правильно для пользователя в Индии и пользователя с другим часовым поясом
var calendar = $('#calendarForGDiary');
calendar.fullCalendar(fullCalendarOptions());
function fullCalendarOptions() {
var options = {
lazyFetching: false,
editable: true, // Don't allow editing of events
handleWindowResize: true,
weekends: true, // Hide weekends
defaultView: 'agendaWeek', // Only show week view
header: true, // Hide buttons/titles
minTime: '00:00:00', // Start time for the calendar
maxTime: '24:00:00', // End time for the calendar
overlap: false,
timezone: 'local',
eventConstraint: {
start: '0:00',
end: '24:00'
},
droppable: true,
drop: function (date) {
},
timeFormat: 'HH:mm',
defaultTimedEventDuration: '01:00',
axisFormat: 'HH:mm',
slotLabelFormat: "HH:mm",
eventOverlap: false,
allDaySlot: false,
slotDuration: '00:05',
slotLabelInterval: '01:00',
header: {
left: 'title',
center: '',
right: 'today prev,next, Date'
},
firstDay: 1,
businessHours: {
// days of week. an array of zero-based day of week integers (0=Sunday)
dow: [1, 2, 3, 4, 5],
start: '00:00', // a start time
end: '7:30', // an end time
},
displayEventTime: true,
views: {
agenda: {
timeFormat: 'HH:mm', // uppercase H for 24-hour clock
columnFormat: 'ddd DD/MM/YY',
}
},
dragRevertDuration: 0,
events:{
url: '@Url.Action("GetIssueLogsByDate")',
type: 'POST',
success: function ()
{
$.fullCalendar.moment().stripZone()
},
error: function () { ShowErrorModal("Unable To Load Log Details") }
},
scrollTime: "00:00:00",
eventDrop: function (event, delta, revertFunc) {
ChangeIssueLogDate(event);
},
eventReceive: function (event) {
addNewEvent(event);
},
loading: function (bool) {
$('#imgLoadingForGemini').modal('show');
},
eventAfterAllRender: function (view)
{
modifyCalendarForTimeOverflow();
$('.eventButtons').attr('disabled', 'disabled');
$('#imgLoadingForGemini').modal('hide');
},
eventClick: function (event, jsEvent) {
ShowEventDetailsModal(event, jsEvent);
},
eventResize: function (event, delta, revertFunc) {
UpdateLogTimeByLogID(delta._data, event.id);
},
eventRender: function (event, element, view)
{
// moment(event._d.start, 'DD.MM.YYYY').format('YYYY-MM-DD')
//$.fullCalendar.moment(event.d).stripZone()
console.log(event)
},
moment: { stripZone:true },
}
return options
}
Код контроллера
публичная асинхронная задача GetIssueLogsByDate (DateTime start)
{
пытаться
{
start = DateTime.Parse (start.ToString ("MM-dd-yyyy"));
// DateTime monday = Date.start.Date;
Log activeDates = новый журнал ();
activeDates.Date = start.Date;
activeLogs = await GDiaryBLL.GetUserLogsByUserID (activeDates);
это то же самое событие в локальной сети, которое отображается при публикации разницы в датах на сервере Великобритании. Проверьте даты, а также событие
то же событие на локальной машине