Swift:
Calcolo di una data futura o passata
Come fare:
Swift offre Date
, Calendar
, e DateComponents
per lavorare con le date. Ecco come si fa:
import Foundation
// Date attuale
let oggi = Date()
// Calcolo di una data futura (5 giorni dopo)
var dataFutura = Calendar.current.date(byAdding: .day, value: 5, to: oggi)!
// Calcolo di una data passata (5 giorni fa)
var dataPassata = Calendar.current.date(byAdding: .day, value: -5, to: oggi)!
// Formattazione e stampa
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
print("Data futura: \(dateFormatter.string(from: dataFutura))")
print("Data passata: \(dateFormatter.string(from: dataPassata))")
Output potrebbe essere:
Data futura: Feb 18, 2023
Data passata: Feb 8, 2023
Approfondimento
Inizialmente i calcoli di data e ora erano complessi, si basavano su operazioni manuali e algoritmi personalizzati. Ora, Swift gestisce il calendario e i fusi orari; quindi, le operazioni sono più sicure. Alternative includevano librerie come DateTools
e SwiftDate
, ma Swift standard ha chiuso il divario. Durante l’implementazione, considera le regole del calendario (gregoriano, ecc.), i fusi orari e la localizzazione. Usa DateComponents
per precisione e TimeInterval
per operazioni più semplici.
Vedi Anche
- Documentazione di Swift sul lavoro con date e calendari: Apple Developer Documentation
- Guida di NSHipster su
Date
eCalendar
: NSHipster Date & Calendar - Sito di Ray Wenderlich su manipolazione delle date in Swift: Ray Wenderlich Date Manipulation