Сравнение даты и времени, включая AM/PM в iphone sdk

Мне нужно сравнить две даты со временем (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. Какие модификации я должен сделать в приведенном выше коде для достижения цели?

Я изменил формат даты на @ "yyyy-MM-dd HH:mm a" и попытался использовать дату в том же формате, но это не сработало.

Спасибо.


person Mithuzz    schedule 19.01.2012    source источник


Ответы (1)


Попробуйте изменить формат даты на @"yyyy-MM-dd hh:mm a"

person Manek    schedule 19.01.2012