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,
Auch
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 (
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
InformationsquelleAutor Nits007ak
Verwenden Sie den folgenden code:
en_US_POSIX
ist nicht erforderlich.Es nicht, aber es ist empfohlen für die Verwendung fester Gebietsschema, wenn Sie arbeiten mit fixed-format stammt.
en_US_POSIX
am besten locale zu wählen.was systemLocale?
Es unterscheidet sich in verschiedenen Maschinen.
ist auf jeden Fall erforderlich, wenn Sie planen, "hard-wire" die 12/24 Einstellung. Sonst könnte iOS nicht Ehre, Ihr das 12/24-format-Einstellung.
InformationsquelleAutor Vytautas
Wenn Sie dieses Datum
"10/4/2013 9:00:00 pm"
vom server,und Sie wollen das gleiche in Indien zu der Zeit, wenn Sie Ihre gewünschte Ausgabe
02:24 AM
Dann müssen Sie etwas tun, wie diese.
dies funktioniert für jedes Land und Ihr Gebietsschema ist
systemlocale
... Sie müssen remoe die timeZoneForSec... auf 0.InformationsquelleAutor Anoop Vaidya