0Pricing
Swift Academy · Lezione

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

  1. Il tipo Date e gli intervalli temporali
  2. Calendar e DateComponents
  3. Formattazione delle date
  4. Fusi orari e impostazioni locali
← Torna a Swift Academy