I’ve got a string representation of a time, like “11:13 AM.” This was produced using an NSDateFormatter and the stringFromDate: method.
I’d like to compare this time to the current time, but when I use the dateFromString: method to turn the string back into a date, a year, month and day are added – which I don’t want. I just need to know if right now is < or > the time stored in the string.
What’s going to be the best way to handle that? Thanks in advance for your help.
Instead of using the string representation, use the NSDate you got from the picker. You can convert that hour/min/sec using NSDateComponents, then also convert [NSDate date] to NSDateComponents. Compare the hours/minutes/seconds of the two sets of components.
EDIT — use a utility function for things like this that converts the hr/min/sec components of NSDate into a secondsOfTheDay (seconds since midnight).
You can directly use two time of day values since they are both seconds since midnight. Simple integers can be easily compared and stored and manipulated. You don’t have to use NSDate all the time.