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 +0000Notez 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 +0000Utiliser 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 +0000SwiftDate 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.