2013-03-10 9 views
9

ich einen String in einen NSDate mit dem folgenden Code zu konvertieren bin versucht:NSDateFormatter nil für die 02.00 Stunden

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setTimeZone:[NSTimeZone localTimeZone]]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss"]; 
NSDate *date= [dateFormatter dateFromString:@"2013-03-10T02:00:00"]; 

Es funktioniert gut für alle Stunden außer 02.00.00, oben gezeigt, was null zurückgibt.

Irgendwelche Ideen?

+4

nicht sicher, wie es zu beheben, aber das Problem könnte aufgrund von Sommerzeit – Nabou

+0

Yep, das ist, was es ist. Ändern Sie das Datum auf den 9. oder 11. und das Problem verschwindet ... –

+18

In den USA gibt es keine 2 Uhr am 10. März 2013. Die Zeit ging von 1:59:59 bis 3:00:00 zur Tageslicht-Sparzeit. Das gleiche Problem tritt auch in anderen Ländereinstellungen auf, aber zu anderen Zeitpunkten. – rmaddy

Antwort

1

Dies ist wegen der Sommerzeit, die am 10. in den USA nahmen März 2013

Die Systemzeit springt direkt von 1.59 bis 03.00 Uhr ..
Sie ein zu verlieren Stunde, die Sie im November gewonnen hatten, als die DST in Kraft trat

Verwandte Themen