Obj-C Date - если раньше, сделай это завтра - PullRequest
0 голосов
/ 19 октября 2011

У меня есть объект NSDate, и мне нужно проверить, прошел ли он уже. Если это так, превратите эту дату в дату завтрашнего дня, но я не могу потерять информацию, такую ​​как TimeZone, в процессе.

Не могли бы вы помочь мне, пожалуйста?

Ответы [ 2 ]

1 голос
/ 19 октября 2011

NSDate не имеет информации о часовом поясе. Это всего лишь тонкий слой за количество секунд, прошедших с его эпохи. Вы можете использовать календарь и часовой пояс, чтобы превратить его в NSDateComponents, поиграть с датой там, а затем отформатировать в новый NSDate.

1 голос
/ 19 октября 2011
NSDate *date = ...;
if ([[NSDate date] timeIntervalSinceDate:date] > 0) {
    date = [date dateByAddingTimeInterval:24*60*60];
}
...