2016-07-11 6 views
0

Ich teste verschiedene Zeitzonen UTC Offsets in der Anwendung. Und schließlich funktioniert dieser Code fast mit allen Zeitzonen. Aber ich habe ein Problem mit Caracas.Problem mit der Zeitzone von Caracas in iOS

Code, der den UTC-Offset anzeigt.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

NSLocale *enUSPOSIXLocale = [NSLocale localeWithLocaleIdentifier:@"en_US_POSIX"]; 
[dateFormatter setLocale:enUSPOSIXLocale]; 

//This NSDateFormatter will return timezone in format "UTC+XX:XX" 
[dateFormatter setDateFormat:@"'UTC'xxxxx"]; 

NSString *formattedTimeZone = [dateFormatter stringFromDate:[NSDate date]]; 

return formattedTimeZone; 

In der Ukraine erhalten i UTC + 03: 00, und es ist richtig. In Caracas erhalte ich UTC-04: 00, aber der tatsächliche Versatz ist UTC-04: 30.

Frage ist warum vermisse ich -30 Minuten in Caracas?

+0

Es wird auf diesen Link helfen: https://developer.apple.com/library/ios/qa/qa1480/_index.html – Singapore

Antwort

1

Dies ist kein Programmierproblem, die Zeitzone Caracas (Venezuela) hat sich in letzter Zeit geändert.

UTC-04: 00 ist jetzt korrekt.

Präsidenten von Venezuela war dies ein paar Mal geändert:

  • UTC-04: 30 verwendet wurde, seit 2007
  • Es vor kurzem wieder zu UTC-04 geändert wurde: 00.

http://www.bloomberg.com/news/articles/2016-04-14/maduro-orders-time-zone-change-to-battle-venezuela-power-crisis

+0

So auf anderen Plattformen wie Android und Telefon gewinnen, ich bin Empfangen -04: 30 –

+0

Ja, knonw Problem auf mehreren Plattformen. –