1

さまざまなプロジェクトの場所をリストするプロジェクトに取り組んでおり、各プロジェクトの場所は異なるタイムゾーンに関連付けられています。現在選択されているプロジェクトの日付をタイムゾーンで表示するために FSCalendar を使用しています。FSCalendar View で日付を正しく表示できません。

デバイスで構成されているタイム ゾーンに関係なく、FSCalendar ビューに日付を表​​示したいと考えています。つまり、ユーザーがタイムゾーンを手動でデバイスの設定に変更しても、この変更は私のプロジェクト カレンダーには影響しません。(例: 通常、すべてのデバイスで自動タイムゾーンが選択されます)

これを実現するには、選択したプロジェクトのタイムゾーンで FSCalendar を構成する必要があります。

DateFormatter() を使用して、Date() を Project タイム ゾーンに変換しようとしました。DST の計算を試みました。

  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
  }
4

2 に答える 2