从 NSDate 转换时区

convert Time Zone from NSDate

我有一个仅限于时间的 UIDatePicker。一旦达到这个时间,就会触发 localNotification。但是如果我打印出它应该触发的时间,它总是在错误的时区。

所以我想在本地通知功能中传递之前将时区转换为用户本地时区。

我用这段代码试过了,但显然行不通

@IBOutlet weak var timePicker: UIDatePicker!

func convertTimeZone() ->NSDate {
        var date = timePicker.date
        var timeZone = NSTimeZone()
        date.TimeZone.localTimeZone
    }
var date = timePicker.date
var timeZone = NSTimeZone.localTimeZone() //1

let f = NSDateFormatter() 
f.timeZone = timeZone //2
f.dateFormat = "HH:mm:ss"

let dateInUserTimezone = f.dateFromString(f.stringFromDate(date))! //3

这使用当前用户的时区 (1),然后使用日期格式化程序 (2) 更改日期的时区 (3),方法是将日期转换为字符串,然后使用正确的时区返回日期。