Il tipo Date e gli intervalli temporali
Rappresenti istanti nel tempo e durate.
Il tipo Date e gli intervalli temporali è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.
Il tipo Date
Date di Foundation rappresenta un singolo istante nel tempo, indipendente da qualsiasi calendario o fuso orario. Internamente è un numero di secondi relativo a una data di riferimento.
Creare una Date
Date() restituisce l'istante corrente. Ogni chiamata restituisce il momento in cui viene eseguita.
import Foundation
let now = Date()
print("Now is a Date value")
print(type(of: now))Intervalli di tempo
Un TimeInterval è semplicemente un numero Double di secondi. È possibile aggiungere o sottrarre intervalli per spostare una data in avanti o indietro.
import Foundation
let now = Date()
let inOneHour = now.addingTimeInterval(3600)
print(inOneHour > now)timeIntervalSince
timeIntervalSince(_:) restituisce i secondi che intercorrono tra due date come TimeInterval. Un valore positivo indica che l'istanza ricevente è successiva.
import Foundation
let start = Date()
let later = start.addingTimeInterval(120)
let gap = later.timeIntervalSince(start)
print("Gap seconds: \(gap)")Confronto tra date
Date è conforme a Comparable, quindi è possibile usare direttamente <, > e == per stabilire l'ordine degli eventi.
import Foundation
let a = Date()
let b = a.addingTimeInterval(10)
print(a < b)
print(a == a)Date di riferimento
timeIntervalSinceReferenceDate misura i secondi trascorsi dal 1° gennaio 2001 UTC; timeIntervalSince1970 usa l'epoca Unix.
import Foundation
let d = Date(timeIntervalSince1970: 0)
print(d.timeIntervalSince1970)Creazione a partire dall'epoca
È possibile creare uno specifico istante a partire da un timestamp Unix, una soluzione utile quando si ricevono orari da un server.
import Foundation
let epoch = Date(timeIntervalSince1970: 1_700_000_000)
print(epoch.timeIntervalSince1970)Distanza tra le date
Il metodo distance(to:) di Comparable/Strideable restituisce anch'esso l'intervallo tra due date.
import Foundation
let a = Date()
let b = a.addingTimeInterval(45)
print(a.distance(to: b))Supporto per passato e futuro
I valori statici .distantPast e .distantFuture forniscono date sentinella utili come valori predefiniti nei confronti.
import Foundation
let now = Date()
print(Date.distantPast < now)
print(Date.distantFuture > now)Misurazione del tempo trascorso
Acquisisca una data iniziale, esegua l'operazione e poi calcoli la differenza per misurare quanti secondi sono trascorsi.
import Foundation
let start = Date()
var total = 0
for i in 1...1000 { total += i }
let elapsed = Date().timeIntervalSince(start)
print("Sum: \(total)")
print("Elapsed >= 0: \(elapsed >= 0)")Date è indipendente dal calendario
Ricordi che un oggetto Date non contiene informazioni su anno, mese o giorno. Per estrarle è necessario un Calendar, che verrà presentato nella prossima lezione.
import Foundation
let now = Date()
// To get the year you must use a Calendar, not Date alone.
print("A Date is just an instant in time.")Verifica rapida
Che cosa restituisce laterDate.timeIntervalSince(earlierDate)?
Riepilogo
Date rappresenta un singolo istante misurato in secondi. È possibile modificarlo con addingTimeInterval, misurare gli intervalli con timeIntervalSince, confrontarlo con gli operatori e crearlo a partire dalle epoche. È indipendente dal calendario, quindi nella prossima lezione verranno introdotti Calendar e DateComponents.
Domande Frequenti
La lezione «Il tipo Date e gli intervalli temporali» è gratuita?
Sì — il testo completo di «Il tipo Date e gli intervalli temporali» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.
Cosa imparerò in «Il tipo Date e gli intervalli temporali»?
Rappresenti istanti nel tempo e durate. Eserciti Swift Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Il tipo Date e gli intervalli temporali»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Swift Academy?
Sì. Ogni lezione Swift Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Il tipo Date e gli intervalli temporali
- Calendar e DateComponents
- Formattazione delle date
- Fusi orari e impostazioni locali