iphone中的分隔时间为30分钟间隔
问题描述:
我有2 NSString
说startTime
和endTime
。iphone中的分隔时间为30分钟间隔
开始时间= 10:00 AM
结束时间= 7:00 PM
现在我想在30分钟的间隔分割的时间,所以我可以得到的时间是这样的:
10:00 AM 10:30 AM 11:00 AM 11:30 AM .......... until 7:00 PM。
我试图像这样:
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
任何人的价值有任何想法,如何做到这一点?
答
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);
尝试上面的代码。
答
这可能只是因为在使用dateFromString时没有提供足够的信息。如果您只给出hh:mm,那么日期的其余部分可能会给您带来几个问题。
如果您只需要显示30分钟的间隔,并且它仅在同一天的两次之间(且日期无关紧要),那么完全避免日期并仅手动计算他们俩。您可以轻松地将开始时间和结束时间解析为小时和分钟整数,然后从那里开始。
希望这会有所帮助。
它在这行代码中崩溃。 '无法识别的选择器' dateByAddingThirtyMinute = [timeFormat dateByAddingTimeInterval:1800]; – Hisenberg 2011-06-16 13:04:52
我编辑了这一行。对不起,语法错误。请检查。 – 2011-06-16 13:31:52
也不能工作..'fromTime'和'toTime'返回'null' – Hisenberg 2011-06-16 15:37:54