Comment calculer la différence entre deux dates en mois, jours, heures, minutes et secondes en Swift?
Bonjour ! Je suis débutant en Swift et je n'arrive pas à comprendre les dates. J'ai besoin de calculer la différence exacte entre deux dates et de l'afficher de manière lisible : combien de mois, jours, heures, minutes et secondes se sont écoulés. Par exemple, entre le 15 mars 2023, 10:30:00 et le 20 juillet 2024, 14:45:30.
J'ai essayé d'utiliser Calendar et DateComponents, mais j'obtiens des résultats étranges. Voici mon code actuel :
import Foundation
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss"
let date1 = dateFormatter.date(from: "2023/03/15 10:30:00")!
let date2 = dateFormatter.date(from: "2024/07/20 14:45:30")!
let diff = date2.timeIntervalSince(date1)
let days = Int(diff) / 86400
let hours = (Int(diff) % 86400) / 3600
let minutes = (Int(diff) % 3600) / 60
let seconds = Int(diff) % 60
print("\(days) jours, \(hours) heures, \(minutes) minutes, \(seconds) secondes")
Le problème est que cette méthode ne prend pas en compte les mois et donne seulement le total