从 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),方法是将日期转换为字符串,然后使用正确的时区返回日期。
我有一个仅限于时间的 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),方法是将日期转换为字符串,然后使用正确的时区返回日期。