У меня есть объект NSDate, и мне нужно проверить, прошел ли он уже. Если это так, превратите эту дату в дату завтрашнего дня, но я не могу потерять информацию, такую как TimeZone, в процессе.
Не могли бы вы помочь мне, пожалуйста?
NSDate не имеет информации о часовом поясе. Это всего лишь тонкий слой за количество секунд, прошедших с его эпохи. Вы можете использовать календарь и часовой пояс, чтобы превратить его в NSDateComponents, поиграть с датой там, а затем отформатировать в новый NSDate.
NSDate
NSDateComponents
NSDate *date = ...; if ([[NSDate date] timeIntervalSinceDate:date] > 0) { date = [date dateByAddingTimeInterval:24*60*60]; }