我有2 NSString
说startTime
和endTime
。
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
的价值
任何人都有任何想法,怎么做?
答案 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);
试试上面的代码。