Почему это дает мне неправильную дату?Неправильная дата возвращается из NSDateComponents
NSCalendar *myCalendar = [[NSCalendar alloc] initWithCalendarIdentifier: NSGregorianCalendar];
NSDateComponents* components = [myCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:[NSDate date]];
[components setYear:2013];
[components setMonth:06];
[components setDay:28];
[components setHour:5];
[components setMinute:00];
NSDate *startDate1 = [myCalendar dateFromComponents:components];
NSLog(@"start date is %@",startDate1);
Дата начала 2013-06-28 03:00:00 +0000
EDIT
То, что я хочу сделать, это следующее. У меня есть начало и конец.
Например:
Дата начала 2013-06-28 05:00
дата окончания: 2013-06-29 04:59
Тогда я хочу, чтобы проверить, если ток дата находится между датой начала и окончания. Я использую следующее.
NSComparisonResult result1 = [now compare:startDate1];
NSComparisonResult result2 = [now compare:endDate1];
if (result2 == NSOrderedSame && result1 == NSOrderedSame) {
NSLOG(@"OKE!");
}
Ваше значение дата зависит от часового пояса. Измените его на локальный часовой пояс, чтобы решить вашу проблему. Настройки-Общие-Date & Time. – brianLikeApple