Swift:
Confronto tra due date
Come si fa:
import Foundation
let formatter = DateFormatter()
formatter.dateFormat = "dd/MM/yyyy"
let firstDate = formatter.date(from: "25/12/2022")!
let secondDate = formatter.date(from: "01/01/2023")!
if firstDate < secondDate {
print("La prima data è precedente alla seconda.")
} else if firstDate > secondDate {
print("La prima data è successiva alla seconda.")
} else {
print("Le date sono uguali.")
}
Output:
La prima data è precedente alla seconda.
Approfondimenti
Confrontare date è fondamentale sin dai primi sistemi software e il modo in cui viene attuato può variare. In Swift, le date sono comunemente rappresentate con l’oggetto Date
di Foundation. Comparare date usando gli operatori <
, >
e ==
è intuitivo e diretto.
Un’alternativa è usare Calendar
per comparare componenti specifici di date, come solo l’anno o il mese. A seconda del contesto, si potrebbe richiedere una precisione che va oltre la semplice comparazione di date e orari fino al minuto, secondo o millisecondo.
Un dettaglio di implementazione: quando si usa DateFormatter
, è critico impostare la locale
e il timeZone
per garantire che la data sia interpretata correttamente nel contesto del locale e fuso orario atteso.
Vedere Anche
- Documentazione ufficiale di Swift su
Date
: https://developer.apple.com/documentation/foundation/date - Documentazione ufficiale di Swift su
Calendar
: https://developer.apple.com/documentation/foundation/calendar - Guida al
DateFormatter
di Swift: https://developer.apple.com/documentation/foundation/dateformatter