【发布时间】:2020-02-19 17:48:23
【问题描述】:
我正在开展一个列出不同项目位置的项目,每个项目位置都与不同的时区相关联。我正在使用 FSCalendar 在其时区显示当前选定项目的日期。我无法在 FSCalendar 视图上正确显示日期。
我想在 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
}
【问题讨论】:
标签: ios swift timezone fscalendar