【发布时间】:2023-03-18 00:44:01
【问题描述】:
我从 UIDatePicker (timePicker) 获得一个 NSDate,它被转换为用户时区,但因为我在夏令时,所以休息一小时。
所以我尝试检查用户是否在夏令时,如果是,它应该将时间添加到 NSDate/dateInUserTimezone。
我怎样才能做到这一点?
func convertTimeZone() ->NSDate {
var date = timePicker.date
print(date)
var formatter = NSDateFormatter()
let timeZone = NSTimeZone(abbreviation: userTimeZone())
formatter.timeZone = timeZone
formatter.dateFormat = "HH:mm:ss"
var isDaylightSavingTime: Bool {
return NSTimeZone.localTimeZone().daylightSavingTime
}
print(isDaylightSavingTime)
var daylightSavingTimeOffset: NSTimeInterval {
return NSTimeZone.localTimeZone().daylightSavingTimeOffset
}
let dateInUserTimezone = formatter.dateFromString(formatter.stringFromDate(date))
return dateInUserTimezone!
}
func userTimeZone() -> String {
return NSTimeZone.localTimeZone().abbreviation ?? ""
}
【问题讨论】:
标签: ios swift nsdate nstimezone