Arbeiten mit Datum und Uhrzeit in Swift: von A bis Z

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in die Arbeit mit Datum und Uhrzeit in Swift

Die Arbeit mit Datum und Uhrzeit ist eine der zentralen Aufgaben bei der Entwicklung von Anwendungen für iOS und macOS. Von der einfachen Anzeige des aktuellen Datums bis hin zu komplexen Berechnungen von Zeitintervallen und der Verwaltung von Zeitzonen bietet Swift ein leistungsstarkes und flexibles Werkzeugset. In diesem Artikel werden wir die wichtigsten Klassen und Strukturen behandeln: Date, DateFormatter, Calendar, DateComponents und TimeInterval. Sie lernen, Daten praktisch zu erstellen, zu formatieren, zu vergleichen und zu manipulieren.



Wichtige Klassen und Strukturen

In Swift werden für die Arbeit mit Daten mehrere grundlegende Typen verwendet. Betrachten wir jeden von ihnen.

  • Date — eine Struktur, die einen bestimmten Zeitpunkt darstellt. Sie ist unabhängig vom Kalender oder der Zeitzone.
  • DateFormatter — eine Klasse zur Umwandlung eines Datums in einen String und umgekehrt.
  • Calendar — eine Struktur, die einen Kalender beschreibt (gregorianisch, buddhistisch usw.) und Methoden für die Arbeit mit Datumskomponenten bereitstellt.
  • DateComponents — eine Struktur zum Speichern einzelner Datumskomponenten (Jahr, Monat, Tag, Stunde, Minute usw.).
  • TimeInterval — ein Typ (Double), der eine Anzahl von Sekunden darstellt.


Arbeiten mit Date und DateFormatter

Beginnen wir mit dem Einfachsten: dem Abrufen des aktuellen Datums und seiner Anzeige für den Benutzer.



Aktuelles Datum abrufen

import Foundation

let currentDate = Date()print("Aktuelles Datum und Uhrzeit: \\(currentDate)")// Ausgabe: Aktuelles Datum und Uhrzeit: 2025-04-05 12:30:00 +0000


Datum formatieren

Damit das Datum vertraut aussieht, verwenden wir DateFormatter:

let formatter = DateFormatter()formatter.dateFormat = "dd.MM.yyyy HH:mm"let dateString = formatter.string(from: currentDate)print("Formatiertes Datum: \\(dateString)")// Ausgabe: Formatiertes Datum: 05.04.2025 12:30


String in Datum parsen

let dateString = "2025-04-05 14:00"formatter.dateFormat = "yyyy-MM-dd HH:mm"if let parsedDate = formatter.date(from: dateString) {    print("Geparstes Datum: \\(parsedDate)")} else {    print("Parsing-Fehler")}

Wichtig: Überprüfen Sie immer, ob date(from:) nicht nil zurückgibt, da die App sonst abstürzen kann.



Manipulation von Daten mit Calendar und DateComponents

Oft müssen Tage, Monate hinzugefügt oder die Differenz zwischen Daten berechnet werden. Hier kommt Calendar zur Hilfe.



Zeit hinzufügen und subtrahieren

let calendar = Calendar.currentlet oneWeekLater = calendar.date(byAdding: .day, value: 7, to: currentDate)!let oneMonthAgo = calendar.date(byAdding: .month, value: -1, to: currentDate)!

print("In einer Woche: \\(formatter.string(from: oneWeekLater))")print("Vor einem Monat: \\(formatter.string(from: oneMonthAgo))")


Datumskomponenten extrahieren

let components = calendar.dateComponents([.year, .month, .day, .hour], from: currentDate)if let year = components.year, let month = components.month {    print("Heute: \\(year)-\\(month)")}


Datum aus Komponenten erstellen

var newComponents = DateComponents()newComponents.year = 2025newComponents.month = 12newComponents.day = 25newComponents.hour = 10newComponents.minute = 0

if let christmas = calendar.date(from: newComponents) { print("Weihnachten: \\(formatter.string(from: christmas))")}


Daten vergleichen und mit TimeInterval arbeiten

Swift ermöglicht es, Daten einfach zu vergleichen und Zeitabstände zu berechnen.



Daten vergleichen

let now = Date()let futureDate = calendar.date(byAdding: .day, value: 10, to: now)!

if futureDate > now { print("

Blogs

Buchempfehlungen