Я пытаюсь использовать dateByAddingTimeInterval:
, чтобы добавить 8 дней к моей текущей дате, но это дает мне странный результат.dateByAddingTimeInterval: дает неверный результат
Это код, я использую:
-(void)requestForGetEPGChannelsProgramsSucceed:(id)jsonResponse andEpgId:(NSString *)epgId forDate:(NSDate *)forDate dayOffset:(NSInteger)dayOffset
NSDate *dateWithOffset = [forDate dateByAddingTimeInterval:(dayOffset * 86400.0)];
forDate
представляет дату сегодня с часа 0 и минут 0. Для этого примера forDate
именно 30/09/2013 00:00
dayOffset
is 8.
Я ожидаю получить 8/10/2013 00:00, но значение, которое я получаю (не распечатываю), - 10/10/2013 23:00.
Почему? У кого-то есть ключ?
EDIT: Я только заметил, что первые даты, которые выходят хорошо, являются IDT, и через несколько дней он использует IST. Разница заключается в «израильском дневном свете» и «стандартном времени в Израиле», что составляет 1 час разницы.
Как мне преодолеть это препятствие?
Это не меняет на этой неделе ... Вот почему это странно. Он изменяется на 27 октября – user2328703
Кроме того, я пробовал решение по вашей ссылке .. Не работает – user2328703
Не конвертируйте дни в секунды, вы должны использовать соответствующие методы, описанные в документации по календарным вычислениям. – Abizern