I make an alarm, where he will tell you how many hours and minutes of sleep you will receive. I installed UIDatePicker where the user chooses what time they want to wake up. It also reports the exact time to the very second. The part I'm stuck with is how many hours of sleep they are going to get. I tried just basically subtracting the exact time from the UIDatePicker . It worked if they were both in AM. For example, if a user wanted to wake up at 10:30, and only 9:30, all you have to do is subtract 10:30 from 9:30 to get 1 hour. I soon realized that this would not work if they were different times of the day, for example. AM or PM.
How I got time from 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)
How did I get the exact time
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)
My question is:
How to subtract UIDatePicker from the exact time to get the hours of sleep that the user receives?

source share