После некоторой первоначальной путаницы (ответы от меня и Энди Е и, в основном, мои комментарии к его ответу), которую вы, возможно, все равно пропустили, я обнаружил, что, по-видимому, является реальной причиной вашей проблемы.
Плагин внутренне использует тот же код функции parseISO8601
, который был предложен Энди Э, который был получен из Анализ даты и времени ISO 8601 W3C в JavaScript .
Но, хотя Энди Э и заявляет, что этот код работает без проблем, плагин fullcalendar, который также использует этот код, похоже, содержит ошибку.
После более внимательного изучения кода я заметил, что плагин, похоже, игнорирует часовой пояс, в котором вы находитесь.
Сравнить эти фрагменты кода
Фрагмент из исходного кода с delete.me.uk
if (d[14]) {
offset = (Number(d[16]) * 60) + Number(d[17]);
offset *= ((d[15] == '-') ? 1 : -1);
}
Код из fullcalendar.js
if (!ignoreTimezone) {
if (m[14]) {
offset = Number(m[16]) * 60 + Number(m[17]);
offset *= m[15] == '-' ? 1 : -1;
}
offset -= date.getTimezoneOffset();
}
Как видите, плагин обрабатывает часовой пояс, только если для ignoreTimezone
установлено значение false. Но это просто не тот случай. parseISO8601()
в этом плагине всегда вызывается с ignoreTimezone
, установленным в true.
Таким образом, я уверен, что ошибка связана с этим, и вам следует обратиться к автору плагина. Но сначала вы должны проверить, правильно ли анализируется дата, если вы установили ignoreTimezone
в false в коде плагина