Мне нужно сравнить две даты со временем (am / pm).Я использовал следующий код.
-(NSDate*)dateFromString:(NSString*)dateString{
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy-MM-dd H:mm:ss"];
NSDate *date = [dateFormat dateFromString:dateString];
[dateFormat release];
return date;
}
#define kMinute 60
#define kHour (60*60)
#define kDay (60*60*24)
-(NSString*)textFromSeconds:(double)seconds{
if(seconds < kMinute)
return [NSString stringWithFormat:@"%0.0f seconds",seconds];
if(seconds < kHour)
return [NSString stringWithFormat:@"%0.0f minutes",seconds/kMinute];
if(seconds < kDay)
return [NSString stringWithFormat:@"%0.0f hours",seconds/kHour];
return [NSString stringWithFormat:@"%0.0f days", seconds/kDay];
}
-(NSString*)textFromDateString:(NSString*)dateString{
NSDate *date =[self dateFromString:dateString];
double seconds = [[NSDate date] timeIntervalSinceDate:date];
NSString *text = [self textFromSeconds:seconds];
NSLog(@"text is: %@", text);
return text;
}
-(void)test{
[self textFromDateString:@"2011-02-20 17:19:25"];
[self textFromDateString:@"2011-02-20 17:10:25"];
[self textFromDateString:@"2011-02-20 14:04:25"];
[self textFromDateString:@"2011-02-19 14:04:25"];
}
Идеально работает.Но мне нужно преобразовать это в 12-часовые часы.Так что мне нужно сравнить две даты с AM или PM.Какие изменения я должен сделать в приведенном выше коде для достижения цели?
Я изменил формат даты на @ "гггг-ММ-дд ЧЧ: мм а" и попытался с датой в том же формате, но это не работает.
Спасибо.