Изменение часового пояса FSCalendar глобально в проекте - PullRequest
0 голосов
/ 23 октября 2019

Я работаю над проектом, в котором перечислены разные местоположения проекта, местоположения каждого проекта связаны с разными часовыми поясами. Я использую FSCalendar для отображения даты текущего выбранного проекта в его часовом поясе. Я не могу правильно отображать дату в представлении FSCalendar.

Я хочу отображать дату в представлении FSCalendar независимо от часового пояса, настроенного на устройстве. Это означает, что даже если пользователь изменяет часовой пояс вручную, переходя к настройке на устройстве, это изменение не должно влиять на мой календарь проекта. (например, автоматический часовой пояс обычно выбирается на всех устройствах)

Для этого мне нужно настроить FSCalendar с выбранным часовым поясом проекта.

Я попытался преобразовать дату () во время проектазона с использованием DateFormatter (). Попробовал расчеты ДСТ.

  func isDateInProjectTimeZone() -> Bool {
       if let projectTimeZone = AppUtils.timeZoneForProject() {
           let dateFormatter = DateFormatter()
           dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"

           var calendar = Calendar.current
           calendar.timeZone = projectTimeZone

           return calendar.isDateInToday(Date().dateInProjectTimeZone())
       }
       return false
  }
...