Zeitzonen und Locales
Behandeln Sie Unterschiede bei Zeitzonen und Locales korrekt.
Zeitzonen und Locales ist eine kostenlose Swift Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Swift Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Zeitzonen und Gebietsschemata
Ein und derselbe Date-Zeitpunkt wird rund um die Welt unterschiedlich angezeigt. TimeZone und Locale bestimmen, wie er interpretiert und dargestellt wird.
Grundlagen von TimeZone
Eine TimeZone beschreibt einen Abstand zu UTC einschließlich der Regeln für die Sommerzeit. TimeZone.current ist die Zeitzone des Geräts.
import Foundation
let tz = TimeZone.current
print("Identifier present: \(!tz.identifier.isEmpty)")Eine bestimmte Zeitzone erstellen
Erstellen Sie mit TimeZone(identifier:) eine benannte Zeitzone, beispielsweise „America/New_York“ oder „Europe/Istanbul“.
import Foundation
if let tokyo = TimeZone(identifier: "Asia/Tokyo") {
print("Tokyo offset seconds: \(tokyo.secondsFromGMT())")
}Abstände von GMT
secondsFromGMT(for:) gibt den aktuellen Abstand zurück. Dieser kann sich im Jahresverlauf aufgrund der Sommerzeit ändern.
import Foundation
let utc = TimeZone(identifier: "UTC")!
print("UTC offset is zero: \(utc.secondsFromGMT() == 0)")Zeitzonen beeinflussen Kalender
Setzen Sie die Eigenschaft timeZone eines Kalenders, damit Berechnungen von Tagen und Stunden diese Region statt der Standardzeitzone des Geräts verwenden.
import Foundation
var cal = Calendar.current
cal.timeZone = TimeZone(identifier: "UTC")!
let hour = cal.component(.hour, from: Date())
print("Hour in UTC between 0 and 23: \(0...23 ~= hour)")Zeitzonen bei der Formatierung
Ein Date.FormatStyle kann eine bestimmte Zeitzone enthalten, sodass die Ausgabe unabhängig von den Geräteeinstellungen diese Region widerspiegelt.
import Foundation
let style = Date.FormatStyle(date: .omitted, time: .shortened)
.timeZone(TimeZone(identifier: "UTC")!)
let s = Date().formatted(style)
print(!s.isEmpty)Grundlagen von Locale
Ein Locale enthält Sprache und regionale Konventionen, etwa Monatsnamen, den ersten Wochentag sowie die Reihenfolge von Zahlen und Datumsangaben.
import Foundation
let locale = Locale.current
print("Has identifier: \(!locale.identifier.isEmpty)")Ein Locale erstellen
Erstellen Sie mit Locale(identifier:) ein bestimmtes Gebietsschema, beispielsweise „fr_FR“ oder „tr_TR“.
import Foundation
let french = Locale(identifier: "fr_FR")
print("French locale id: \(french.identifier)")Locale verändert die Ausgabe
Wenn Sie einen Formatstil auf ein Gebietsschema anwenden, ändern sich Monatsnamen und Reihenfolge. Dasselbe Datum wird in jeder Sprache anders dargestellt.
import Foundation
let now = Date()
let style = Date.FormatStyle(date: .long, time: .omitted)
.locale(Locale(identifier: "en_US"))
print(!now.formatted(style).isEmpty)Locale und Calendar gemeinsam verwenden
Locale beeinflusst auch den ersten Wochentag und die Nummerierung der Wochen im Calendar. Kombinieren Sie Zeitzone, Locale und Calendar, um vollständig korrekte Ergebnisse zu erhalten.
import Foundation
var cal = Calendar(identifier: .gregorian)
cal.locale = Locale(identifier: "en_US")
print("First weekday: \(cal.firstWeekday)")UTC speichern, lokal anzeigen
Bewährte Vorgehensweise: Speichern und übertragen Sie Datumswerte in UTC und konvertieren Sie sie erst für die Anzeige in die Zeitzone und das Gebietsschema des Benutzers.
import Foundation
let instant = Date()
let utcStyle = Date.FormatStyle(date: .numeric, time: .standard)
.timeZone(TimeZone(identifier: "UTC")!)
print("UTC display ready: \(!instant.formatted(utcStyle).isEmpty)")Kurze Überprüfung
Wie sollten Datumswerte für die Verwendung in verschiedenen Regionen empfohlen gehandhabt werden?
Zusammenfassung
TimeZone legt den UTC-Abstand und die Regeln für die Sommerzeit fest, während Locale Sprache und regionale Formatierung steuert. Beide können an Kalender und Formatstile gebunden werden. Speichern Sie Datumswerte in UTC und konvertieren Sie sie erst bei der Anzeige in die lokale Zeitzone und das lokale Gebietsschema. Damit ist der Kurs zu Datumswerten und Kalendern abgeschlossen.
Häufig gestellte Fragen
Ist die Lektion „Zeitzonen und Locales“ kostenlos?
Ja — der vollständige Text von „Zeitzonen und Locales“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Swift Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Swift Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Zeitzonen und Locales“?
Behandeln Sie Unterschiede bei Zeitzonen und Locales korrekt. Du übst Swift Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Swift Academy zu starten?
Keine Vorkenntnisse erforderlich. Swift Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Zeitzonen und Locales“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Swift Academy-Lektion Code schreiben und ausführen?
Ja. Jede Swift Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Der Typ Date und Zeitintervalle
- Calendar und DateComponents
- Datumsformatierung
- Zeitzonen und Locales