Календарь постоянно показывает неправильное время
Я пытаюсь исправить временные зоны для календаря. Он отправляет на сервер django время в формате ISO со смещениями в виде часовых поясов, которые пользователь выбирает в выпадающем меню, и сохраняет его. На сервере оно сохраняется корректно. Но при загрузке в календарь, он, кажется, интерпретирует его как 5 часов вперед (Америка/Чикаго CST время) вместо формата времени 00:00:00, который был введен изначально. И да, смещение составляет -5.
Я уже пробовал удалить параметр timeZone в переменной fullcalendar, но это ничего не дало.
#views.py
def all_events(request):
user = request.user.id
user_events = Events.objects.filter(user=user)
program_events = Events.objects.filter(user__isnull=True)
out = []
tz = afbUsers.objects.get(pk=user)
timezone = pytz.timezone(tz.timezone)
for event in user_events:
# start = event.start.strftime('%Y-%m-%d %H:%M:%S')
# print(start)
# start = parser.parse(start)
# start = start.astimezone(timezone)
# print(start)
# end = event.end.strftime('%Y-%m-%d %H:%M:%S')
# end = parser.parse(end)
# end = end.astimezone(timezone)
out.append({
'title': event.name,
'id': event.id,
'start': event.start.strftime("%m/%d/%Y, %H:%M:%S"),
'end': event.end.strftime("%m/%d/%Y, %H:%M:%S"),
})
# for event in program_events:
# start = event.start
# start = start.astimezone(utc_timezone)
# end = event.end
# end = end.astimezone(utc_timezone)
# out.append({
# 'title': event.name,
# 'id': event.id,
# 'start': start.strftime("%m/%d/%Y, %H:%M:%S"),
# 'end': end.strftime("%m/%d/%Y, %H:%M:%S"),
# })
return JsonResponse(out, safe=False)
Выяснилось, что календарь инициализируется правильно в соответствии с версией CDN, которую я использовал. Я исправил на последнюю версию 6.
<script src='https://cdn.jsdelivr.net/npm/fullcalendar@6.1.11/index.global.min.js'></script>
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
});
calendar.render();