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