Я пытался вставить выбранное событие в БД, и я заметил, что время, которое я выбираю в календаре, отличается от того, которое было передано в AJAX. select
обратный вызов передает даты «старт» и «конец» с разными часовыми поясами, чем установлен календарь.FullCalendar JS - выбор обратного вызова проходит даты начала и окончания в неправильном часовом поясе
Мои настройки календаря:
$calendar.fullCalendar({
header: {
left: 'prev, today, next',
center: 'title',
right: 'agendaWeek, agendaDay'
},
timezone: 'Australia/Sydney',
defaultView: 'agendaWeek',
selectable: true,
selectHelper: true,
select: function(start, end) {
var startDate = new Date(start);
var endDate = new Date(end);
console.log(startDate);
console.log(startDate);
// ajax to insert event to DB
},
// other configurations
});
Теперь мой сбрасывали startDate
и endDate
выглядит следующим образом:
Mon Nov 14 2016 08:00:00 GMT+0100
Который не Australia/Sydney
что календарь установлен, поэтому я спасаю неправильно даты начала и окончания в БД. Я чувствую, что это проблема с new Date()
, которая генерирует заданную метку времени с часовым поясом по умолчанию, а не тот, для которого установлен календарь.
Кто-нибудь знает решение?
Вы, возможно, придется использовать UTC, чтобы настроить для любого другого региона: http://www.techrepublic.com/article/convert-the-local -time-to-another-time-zone-with-this-javascript/- вы также можете посмотреть http://momentjs.com/timezone/ – webdad3