Я делаю будильник, который покажет вам, сколько часов и минут вы спите. Я установил UIDatePicker
, где пользователь выбирает, в какое время он хочет проснуться. Он также сообщает точное время с точностью до секунды. Часть, на которой я застрял, - это то, сколько часов они собираются поспать. Я попытался просто вычесть точное время из UIDatePicker
. Это сработало, если бы они оба были в АМ. Например, если пользователь хотел проснуться в 10:30, а это 9:30, все, что вам нужно сделать, это вычесть 10:30 из 9:30, чтобы получить 1 час. Вскоре я понял, что это не сработает, если бы они были в другое время суток, например. До или после полудня.
Как я получил время от UIDatePicker
func handler(sender: UIDatePicker) {
var timeFormatter = NSDateFormatter()
timeFormatter.timeStyle = NSDateFormatterStyle.ShortStyle
var strDate = timeFormatter.stringFromDate(theDatePicker.date)
}
theDatePicker.addTarget(self, action: Selector("handler:"), forControlEvents: UIControlEvents.ValueChanged)
Как я узнал точное время
var date = NSDate()
var outputFormat = NSDateFormatter()
outputFormat.locale = NSLocale(localeIdentifier:"en_US")
outputFormat.dateFormat = "HH:mm:ss"
timeLabel.text = (outputFormat.stringFromDate(date))
var timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("getTime"), userInfo: nil, repeats: true)
Мой вопрос:
Как мне вычесть UIDatePicker
из точного времени, чтобы получить количество часов сна пользователя?