Время разделения на 30 минут в iphone - PullRequest
0 голосов
/ 16 июня 2011

У меня есть 2 NSString скажем startTime и endTime.

startTime = 10:00 AM
endTime = 7:00 PM

Теперь я хочу разделитьвремя в интервале 30 минут, так что я могу получить время, как это:

10: 00 утра 10:30 утра 11:00 утра 11:30 утра .......... до 7: 00:00.

Я пытаюсь что-то вроде этого:

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"HH:mm"];
NSDate* fromTime = [timeFormat dateFromString:startTime];
NSDate* toTime = [timeFormat dateFromString:endTime];

Но я получаю от fromTime = 1970-01-01 6:00:00 +0000для значения startTime = 11:30

У кого-нибудь есть идеи, как это сделать ???

Ответы [ 2 ]

1 голос
/ 16 июня 2011

NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init];
[timeFormat setDateFormat:@"hh:mm a"];
NSDate* fromTime = [timeFormat dateFromString:startTime];
NSDate* toTime = [timeFormat dateFromString:endTime];

NSLog(@"Start time %@",fromTime);
NSLog(@"End time %@",toTime);

NSDate *dateByAddingThirtyMinute;

dateByAddingThirtyMinute = [fromTime dateByAddingTimeInterval:1800];

NSLog(@"Time after 30 min %@",dateByAddingThirtyMinute);

Попробуйте приведенный выше код.

1 голос
/ 16 июня 2011

Возможно, вы просто не предоставляете достаточно информации при использовании dateFromString. Если вы даете только чч: мм, оставшаяся часть даты может вызвать у вас несколько проблем.

Если вам нужно только показать интервалы в 30 минут, а это просто между двумя моментами в один и тот же день (и даты не имеют значения), было бы целесообразно вообще избегать дат и просто вручную вычислять интервалы между два. Вы можете легко разобрать время начала и окончания в целые числа часов и минут, а затем перейти оттуда.

Надеюсь, это поможет.

...