How to compare two NSDates

Screen Shot 2014-01-07 at 12.55.39Comparing NSDate objects should be as easy as comparing two numbers. But because NSDate objects are complex, it’s not an easy task.

Lucky for us the NSDate class has several ways of dealing with this conundrum.

Imagine in the following examples that we have the objects “today” and “myDate”, the latter of which we would like to compare to today. We want to know, is myDate earlier or later than today?

earlierDate and laterDate

The easiest two to remember (for me) are earlierDate and laterDate. Here’s how they work:

laterDate returns the NSDate object which is later, earlierDate returns the earlier one.


For those brains that are wired like a frigging computer we also have the compare method, which compares the results to three much less intuitive enumerations:

The latter option can be good if you need to make sure the two dates are identical.

About Jay Versluis

Jay is a medical miracle known as Super Survivor. He runs two YouTube channels, five websites and several podcast feeds. To see what else he's up to, and to support him on his mission to make the world a better place, check out his Patreon Campaign.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.