Arbeiten mit Datum und Zeit in Swift: vollständiger Leitfaden

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 Kernaufgaben bei der Entwicklung von Apps für iOS und macOS. Ob es um die Anzeige des aktuellen Datums, die Berechnung der Differenz zwischen Ereignissen oder die Planung von Benachrichtigungen geht – Swift bietet ein leistungsstarkes und flexibles Toolkit für diese Zwecke. In diesem Artikel werden wir die wichtigsten Klassen und Methoden behandeln: Date, DateFormatter, Calendar, DateComponents und TimeInterval. Sie erfahren, wie Sie Daten in Swift erstellen, formatieren, vergleichen und manipulieren.

Das Material ist sowohl für Anfänger als auch für erfahrene Entwickler nützlich, die ihr Wissen systematisieren möchten. Alle Codebeispiele können sofort in Ihren eigenen Projekten verwendet werden.



Grundlegende Klassen für die Arbeit mit Daten



Die Klasse Date

Date ist der fundamentale Typ, der einen bestimmten Zeitpunkt repräsentiert, unabhängig von Zeitzone oder Kalender. Er speichert die Anzahl der Sekunden, die seit dem 1. Januar 2001 (der Cocoa-Epoche) vergangen sind.

import Foundation

// Aktuelles Datum und Uhrzeitlet now = Date()print("Jetzt: \\(now)")

// Datum in 1 Stundelet oneHourLater = Date(timeIntervalSinceNow: 3600)print("In einer Stunde: \\(oneHourLater)")

// Datum aus einer gegebenen Anzahl von Sekunden seit der Epochelet epochDate = Date(timeIntervalSinceReferenceDate: 0)print("Cocoa-Epoche: \\(epochDate)")


TimeInterval

TimeInterval ist lediglich ein Alias für Double und repräsentiert eine Anzahl von Sekunden. Es wird verwendet, um Zeitintervalle anzugeben.

let interval: TimeInterval = 86400 // 24 Stunden in Sekundenlet tomorrow = Date(timeIntervalSinceNow: interval)print("Morgen: \\(tomorrow)")


DateFormatter

DateFormatter ist für die Umwandlung eines Datums in einen String und umgekehrt zuständig. Dies ist eine der am häufigsten verwendeten Klassen.

let formatter = DateFormatter()formatter.dateStyle = .longformatter.timeStyle = .short

let currentDate = Date()let dateString = formatter.string(from: currentDate)print("Formatiertes Datum: \\(dateString)")

// Rückumwandlunglet dateFromString = formatter.date(from: "15. April 2025 um 14:30")print("Datum aus String: \\(dateFromString ?? Date())")

Sie können ein eigenes Format mit dateFormat festlegen:

formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"let customString = formatter.string(from: Date())print("Benutzerdefiniertes Format: \\(customString)")


Kalender und Datumskomponenten



Calendar

Calendar ermöglicht die Arbeit mit Daten im Kontext eines bestimmten Kalenders (gregorianisch, islamisch usw.) und einer bestimmten Zeitzone.

let calendar = Calendar.currentlet components = calendar.dateComponents([.year, .month, .day, .hour, .minute], from: Date())print("Jahr: \\(components.year!), Monat: \\(components.month!), Tag: \\(components.day!)")


DateComponents

DateComponents ist eine Struktur, die einzelne Datumskomponenten (Jahr, Monat, Tag, Stunde usw.) enthält. Sie wird verwendet, um neue Daten zu erstellen oder Teile aus vorhandenen zu extrahieren.

// Erstellen eines Datums aus Komponentenvar birthdayComponents = DateComponents()birthdayComponents.year = 1990birthdayComponents.month = 6birthdayComponents.day = 15birthdayComponents.hour = 10

if let birthday = calendar.date(from: birthdayComponents) { print("Geburtstag: \\(birthday)")}

// Hinzufügen von Tagen zu einem Datumif let nextWeek = calendar.date(byAdding: .day, value: 7, to: Date()) { print("Nächste Woche: \\(nextWeek)")}

Komponenten können verwendet werden, um Eigenschaften eines Datums zu überprüfen:

let isToday = calendar.isDateInToday(Date())print("Heute? \\(isToday)")

let isWeekend = calendar.isDateInWeekend(Date())print("Wochenende? \\(isWeekend)")


Vergl

Blogs

Buchempfehlungen