Ответ 1
Проверьте наш класс Erica Sadun класс NSDate
extension
: http://github.com/erica/NSDate-Extensions
Есть много сопоставлений даты, среди которых именно то, что вам нужно:)
С iOS SDK мне нужно найти простой и безопасный способ узнать, есть ли NSDate сегодня, вчера, завтра. Я ищу что-то вроде этого в псевдокоде:
NSDate *myDate = someDate;
if ([myDate isTomorrow]) {
NSLog("Tomorrow");
}
Как бы вы его разрешили?
Проверьте наш класс Erica Sadun класс NSDate
extension
: http://github.com/erica/NSDate-Extensions
Есть много сопоставлений даты, среди которых именно то, что вам нужно:)
Я понимаю, что это довольно старый, но я хочу обновить ответ (поскольку я не видел, чтобы кто-то еще отправлял более актуальный ответ).
Так как iOS 8.0 у вас есть куча функций, которые вы можете использовать для сравнения даты:
См. ниже пример:
NSDate *today = [NSDate new];
NSCalendar* calendar = [NSCalendar currentCalendar];
BOOL isToday = [calendar isDateInToday:today];
BOOL isYesterday = [calendar isDateInYesterday:today];
isTayay будет YES.
isYewterday будет НЕТ, учитывая, что мы дали ему сегодняшнюю дату.
Подробнее см. Документация для Apple.
Swift 3
let isToday = Calendar.current.isDateInToday(yourDate)
Затем вы можете проверить значение и действовать соответственно просто:
if isToday {
//If true, do this
}
Существуют аналогичные функции для завтрашних, выходных и нескольких других, например:
let isTomorrow = Calendar.current.isDateInTomorrow(yourDate)
Это руководство содержит все их в Objective-C и Swift: