2014-11-27 9 views
5

Ich habe ein Problem mit dieser Methode:Erhalten Sie das letzte Mal mit der Periode in iPhone 4 mit NSDateFormatter

-(NSString *)getLastTimeMessageWithPeriod:(NSDate*)lastMessageDate 
{ 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"h:mm a"]; 

NSString *resultString = [dateFormatter stringFromDate: lastMessageDate]; 

return resultString; 
} 

In iPhone 4 (iOS 7.1) der result return "00.32"

In iPhone 5 (iOS 8) die resultString Rückkehr "12:32 Am"

Was kann das Problem sein, dass es den Zeitraum in iPhone 4 verpassen?

Antwort

1

Ich habe gerade Ihren bereitgestellten Code auf meinem iOS 7.1-Gerät getestet, und es gab mir "3:22", also Problem ist nicht Gerät oder Betriebssystemversion.

Problem ist das Gebietsschema, wie dies zu tun und es wird funktionieren

- (NSString *)getLastTimeMessageWithPeriod:(NSDate *)lastMessageDate 
{ 
    NSDateFormatter *dateFormatter = [NSDateFormatter new]; 
    [dateFormatter setDateFormat:@"h:mm a"]; 
    [dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]]; 

    return [dateFormatter stringFromDate:lastMessageDate];; 
} 
Verwandte Themen