2017-08-15 2 views
-3

Comme vous pouvez le voir dans l'écran ci-dessous, l'application iOS Calendar affiche la liste des fuseaux horaires disponibles au format City, Country.iOS Calendrier Liste des fuseaux horaires de l'application

enter image description here

Je veux atteindre la même liste. Où puis-je obtenir cette liste?

+0

Avez-vous essayé this 'NSTime Zone.knownTimeZoneNames() '? –

+0

Oui, j'ai. Il ne montre pas comme le même format que ci-dessus. –

+0

@HamDongKyun - Jetez un oeil à quelques-uns des liens «connexes» à droite ... il y a un couple déjà poser/discuter de votre question. – DonMag

Répondre

0

TimeZone a une fonction statique knownTimeZoneIdentifiers qui renvoie un tableau d'identificateurs de chaîne. Documentation

+0

Je connais cette documentation, mais cela ne s'affiche pas comme le fuseau horaire montré comme application de calendrier iOS –

0

Vous ne pouvez pas obtenir un format "Ville, comté" format, mais vous pouvez obtenir une "ville, Continent" en utilisant ce morceau de code:

let timeZones = TimeZone.knownTimeZoneIdentifiers.flatMap{ id->String? in 
    let components = id.components(separatedBy: "/") 
    guard components.count == 2, let continent = components.first, let city = components.last else {return nil} 
    return "\(city), \(continent)" 
} 

sortie sera:

"Abidjan, Afrique", "Accra, Afrique", "Addis_Ababa, Afrique", "Alger, Afrique", "Asmara, Afrique", "Bamako, Afrique", "Bangui, Afrique", "Banjul, Afrique" ...

+0

Donc, fondamentalement, votre réponse est que je ne peux pas obtenir ce que l'application de calendrier iOS fournit, non? –

+0

Oui, c'est la seule chose que vous pouvez obtenir. –

+0

Alors, comment iOS Calendar App obtient-il cette liste, dans tous les paramètres régionaux? At-il un magasin de données distinct non ouvert à l'API de la fondation? –