views:

1012

answers:

1

i have two dates i want to compare which one is greater date how do i do this in objective-c?

+5  A: 

From NSDate class reference:

NSDate -compare: Returns an NSComparisonResult value that indicates the temporal ordering of the receiver and another given date.

  • (NSComparisonResult)compare:(NSDate *)anotherDate

Parameters anotherDate The date with which to compare the receiver.

This value must not be nil. If the value is nil, the behavior is undefined and may change in future versions of Mac OS X.

Return Value If:

The receiver and anotherDate are exactly equal to each other, NSOrderedSame

The receiver is later in time than anotherDate, NSOrderedDescending

The receiver is earlier in time than anotherDate, NSOrderedAscending.

Discussion This method detects sub-second differences between dates. If you want to compare dates with a less fine granularity, use timeIntervalSinceDate: to compare the two dates.

Vladimir
You'll need to use NSDateFormat to convert your strings to dates.
Epsilon Prime
There's also -[NSDate earlierDate:] and -[NSDate laterDate:], which are more appropriate if what you really care about is finding the latest of two dates.
Kevin Ballard