Konvertieren Sie das Datum aus String in iOS?

Ich bin immer von meinem server ein Datum als string "10/4/2013 10:00:00". Jetzt möchte ich nur die Stunden angezeigt, die in mein label.Aber das problem ist, bin mit dem folgenden code, aber nicht immer der tatsächlichen Zeit.

-(NSString*)convert:(NSString*)strdate
{

    NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
    [formatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    [formatter setLocale:[NSLocale systemLocale]];
   [formatter setDateFormat:@"dd/MM/yyyy HH:mm:ss a"];
    NSDate * date = [formatter dateFromString:strdate];


    NSDateFormatter* df = [[NSDateFormatter alloc]init];
    [df setDateFormat:@"hh:mm"];
    NSString *depResult = [df stringFromDate:date];

    NSLog(@"hours  %@ ", [df stringFromDate:date]);

    return depResult;
}

und gebe String-input als "10/4/2013 9:00:00" und die erste Ausgabe als "05:30".Bitte korrigieren Sie mich, wo falsch mache.Dank

Du bist in Indien, vermute ich. Was ist die Zeitzone offset in Indien?
Bitte verwenden Sie keine festen Datum-Formate, NSDateFormatterStyle
Auch [formatter setDateFormat:@"dd/MM/yyyy HH:mm:ss a"]; hier HH sollte hh
Wenn der Datums-string besteht aus einem "service", dann MUSS man die Verwendung eines festen Datum-formats.
Sie können völlig ignorieren Formatierungen. Sie sind so eine Art beschränkt und haben Probleme auf einigen Gebietsschemas. Es ist besser, generieren Sie einen Stil aus der Vorlage (+[NSDateFormatter dateFormatFromTemplate:options:locale:]).

InformationsquelleAutor Sugan S | 2013-11-19

Schreibe einen Kommentar