Qu'est-ce que c'est et pourquoi en a-t-on besoin ?
Swift est un langage de programmation moderne d'Apple pour iOS, macOS, watchOS et tvOS. La gestion des dates est l'une des tâches clés dans le développement mobile et desktop : de l'affichage de l'heure dans les chats au calcul des délais dans les applications. Swift n'a pas de bibliothèque séparée pour les dates — toutes les fonctionnalités sont intégrées dans le framework Foundation. Il fournit les classes Date, DateFormatter, Calendar et DateComponents, qui permettent de créer, formater, comparer et manipuler les dates.
Comment installer ?
Foundation fait partie de la bibliothèque standard de Swift, donc aucune installation n'est nécessaire. Importez simplement le module dans votre fichier : import Foundation. Pour travailler avec les dates dans les projets iOS/macOS (via Xcode), aucune dépendance supplémentaire n'est requise.
Fonctions principales
- Création de date :
Date()— date et heure actuelles ;Date(timeIntervalSinceNow:)— date dans N secondes. - Formatage :
DateFormatter— conversion d'une date en chaîne (sortie localisée) et vice versa. - Composants de date :
Calendar.current.dateComponents([.year, .month, .day], from: date)— extraction de l'année, du mois, du jour. - Comparaison : opérateurs
==,<,>, ainsi quecompare(). - Manipulations :
Calendar.current.date(byAdding: .day, value: 7, to: date)— ajout de 7 jours.
Exemple de code en Swift (iOS/macOS)
import Foundation
// Date actuellelet now = Date()print("Maintenant : \\(now)")
// Formatage en chaîne localiséelet formatter = DateFormatter()formatter.dateStyle = .longformatter.timeStyle = .shortformatter.locale = Locale(identifier: "ru_RU")let formatted = formatter.string(from: now)print("Date formatée : \\(formatted)")
// Extraction du jour de la semainelet calendar = Calendar.currentlet weekday = calendar.component(.weekday, from: now)print("Jour de la semaine (1=dimanche) : \\(weekday)")
// Ajout de 3 joursif let futureDate = calendar.date(byAdding: .day, value: 3, to: now) { print("Dans 3 jours : \\(formatter.string(from: futureDate))")}
// Analyse d'une chaîneformatter.dateFormat = "yyyy-MM-dd"if let parsedDate = formatter.date(from: "2025-12-31") { print("Analysé : \\(parsedDate)")}Quand utiliser ?
Utilisez les outils intégrés de Foundation chaque fois que vous devez travailler avec des dates en Swift : affichage de l'heure dans l'interface utilisateur, calcul de la différence entre les dates, création de calendriers, de rappels, de minuteries, journalisation d'événements. Pour les scénarios complexes (par exemple, la gestion des fuseaux horaires ou des événements récurrents), combinez DateComponents et Calendar. Des bibliothèques tierces alternatives (comme SwiftDate) existent, mais pour la plupart des projets, Foundation suffit.