всякий раз, когда я пытаюсь добавить или вычесть timeInterval на текущую дату, я также получаю отрицательную дату. Это код, который я использую в отладчике:неправильная дата при использовании dateByAddingTimeInterval
(lldb) po [[NSDate date] dateByAddingTimeInterval:30*24*60*60];
-5877520-03-03 -596:-31:-23 +0000
Это не имеет значения, если я использую положительное или отрицательное число, как промежуток времени, я всегда получаю отрицательную дату.
Я использовал CuppertinoYankee в своем проекте, но я удалил ссылку на него и получил тот же результат.
Надеюсь, кто-то может мне помочь.
Сердечные приветы
UPDATE Выход NSLog является:
2015-03-29 20:46:59:762 TestingProject[60975:607] start date:
2015-03-29 20:46:59:763 TestingProject[60975:607] end date: 2015-04-28 18:46:59 +0000
и код, который произвел этот вывод является:
NSUInteger startDaysBefore = 30;
NSUInteger endDaysAfter = 30;
NSDate *startDate = [[NSDate date] dateByAddingTimeInterval:(-startDaysBefore)*24*60*60];
NSDate *endDate = [[NSDate date] dateByAddingTimeInterval:endDaysAfter*24*60*60];
NSLog(@"start date: %@", startDate);
NSLog(@"end date: %@", endDate);
И какой результат, если вы используете NSLog? – gnasher729
Попробуйте следующее: 'po [[NSDate date] dateByAddingTimeInterval: 30.0 * 24 * 60 * 60]' (Заметьте, что я написал '30.0' вместо' 30'.) Работает ли это? –
Привет @robmayoff, это сработало отлично. Пожалуйста, опубликуйте его как ответ, чтобы я мог проверить его как решение. Большое спасибо!! – SantiFdezMunoz