在iPhone中分割时间间隔为30分钟

时间:2011-06-16 12:09:38

标签: iphone objective-c nsdate

我有2 NSStringstartTimeendTime

startTime = 10:00 AM endTime =晚上7:00

现在我想以30分钟的间隔分割时间,所以我可以得到这样的时间:

上午10:00 上午10:30 11:00 AM 上午11:30 ..........直到晚上7点。

我正在尝试这样的事情:

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 个答案:

答案 0 :(得分:1)

使用dateFromString时可能只是提供了足够的信息。如果您只给出hh:mm,那么剩下的日期可能会给您带来几个问题。

如果你只需要显示30分钟的间隔,并且它只是在同一天的两次之间(并且日期无关紧要),那么完全避免日期并且只需手动计算之间的间隔可能是明智的。二。您可以轻松地将开始时间和结束时间解析为小时和分钟整数,然后从那里开始。

希望这有帮助。

答案 1 :(得分:1)


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);

试试上面的代码。