With the iOS SDK I need to find an easy and secure way to see if an NSDate is today, yesterday, tomorrow. What I\'m looking for is something like this in pseudo code:
<I understand that this is pretty old, but I want to bring the answer up to date (as I didn't see anyone else post a more up to date answer).
Since iOS 8.0 you have a bunch of functions that you can use for date comparison:
See below example:
NSDate *today = [NSDate new];
NSCalendar* calendar = [NSCalendar currentCalendar];
BOOL isToday = [calendar isDateInToday:today];
BOOL isYesterday = [calendar isDateInYesterday:today];
isToday will be YES.
isYesterday will be NO, given that we gave it todays date.
See Apple's Documentation for further reading.
Check our Erica Sadun's great NSDate
extension
class: http://github.com/erica/NSDate-Extensions
There are lots of date comparisons, among them exactly what you need :)
Swift 3
let isToday = Calendar.current.isDateInToday(yourDate)
You can then check the value and proceed accordingly with simply:
if isToday {
//If true, do this
}
There are similar functions for tomorrow, weekend, and a few others, for example:
let isTomorrow = Calendar.current.isDateInTomorrow(yourDate)
This guide has them all in Objective-C and Swift: