Ios 如果超过30分钟,如何将NSString时间转换为条件

Ios 如果超过30分钟,如何将NSString时间转换为条件,ios,nsstring,nsdate,Ios,Nsstring,Nsdate,我有一个提取的NSString 00:50,如果大于或小于30分钟,我需要对其进行调整 给你 NSString *string = @"00:50"; NSArray *components = [string componentsSeparatedByString:@":"]; int hours = [[components objectAtIndex:0] intValue]; int minutes = [[components objectAtIndex:1] intValue];

我有一个提取的NSString 00:50,如果大于或小于30分钟,我需要对其进行调整

给你

NSString *string = @"00:50";
NSArray *components = [string componentsSeparatedByString:@":"];

int hours = [[components objectAtIndex:0] intValue];
int minutes = [[components objectAtIndex:1] intValue];

if( ((hours * 60) + minutes) > 30) {
     // ...
}

你要找的是NSDateFormatter

从那里,您可以拥有任何时间或日期,并从中提取任何需要的内容,只需将所需的组件添加到NSDateComponents对象

以下是您可以从NSDate对象中提取的所有内容:

如果字符串具有固定格式HH:MM,则您可以只比较字符串:

NSString *timeStr = ...; // time in HH:MM format
if ([timeStr compare:@"00:30"] == NSOrderedAscending) {
    // less than 30 minutes
} else {
    // 30 minutes or more
}

但这不是说01:20不到30分钟吗?你还需要比较小时吗?编辑我的答案?是的,我停下来想了想,因为下一个条目正好是1:20。我在考虑将小时数乘以60。马丁斯,我认为我更好,因为在你的情况下,这是一个更快的答案,但我认为你必须将@mm:ss改为@hh:mm,不?不知道它应该是分钟:秒还是小时:分钟。将小时数加到计算中。我认为这是最好的答案
NSString *timeStr = ...; // time in HH:MM format
if ([timeStr compare:@"00:30"] == NSOrderedAscending) {
    // less than 30 minutes
} else {
    // 30 minutes or more
}