Swift:
Analyser une date depuis une chaîne de caractères
Comment faire :
Utiliser DateFormatter
de Foundation
La bibliothèque standard de Swift, Foundation, fournit DateFormatter
pour convertir des chaînes en objets Date
et vice versa. Pour analyser une date à partir d’une chaîne, vous spécifiez le format de date qui correspond à la chaîne, puis utilisez le formateur pour l’analyser.
import Foundation
let dateString = "2023-04-30"
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
if let date = formatter.date(from: dateString) {
print("Date analysée : \(date)")
} else {
print("Échec de l'analyse de la date")
}
// Exemple de sortie : Date analysée : 2023-04-29 22:00:00 +0000
Notez que la sortie peut varier en fonction de votre fuseau horaire.
Utiliser ISO8601DateFormatter
Pour les formats de date ISO 8601, Swift propose un formateur spécialisé, ISO8601DateFormatter
, qui simplifie le processus d’analyse.
import Foundation
let dateString = "2023-04-30T15:00:00+00:00"
let isoFormatter = ISO8601DateFormatter()
if let date = isoFormatter.date(from: dateString) {
print("Date ISO8601 analysée : \(date)")
} else {
print("Échec de l'analyse de la date ISO8601")
}
// Exemple de sortie : Date ISO8601 analysée : 2023-04-30 15:00:00 +0000
Utiliser une bibliothèque tierce : SwiftDate
Bien que Swift fournisse des outils robustes pour l’analyse de dates, les bibliothèques tierces comme SwiftDate offrent encore plus de flexibilité et de commodité. Après avoir ajouté SwiftDate à votre projet, l’analyse devient aussi simple que :
import SwiftDate
let dateString = "April 30, 2023"
if let date = dateString.toDate("MMMM dd, yyyy") {
print("Date analysée avec SwiftDate : \(date)")
} else {
print("Échec de l'analyse de la date avec SwiftDate")
}
// Exemple de sortie : Date analysée avec SwiftDate : 2023-04-30 00:00:00 +0000
SwiftDate simplifie l’analyse avec un langage naturel et une large gamme de formats de dates, en faisant un ajout puissant à votre boîte à outils de programmation Swift.