0Pricing
JavaScript Academy · Lezione

Fusi orari e UTC

Gestisca correttamente UTC e ora locale.

Fusi orari e UTC è una lezione JavaScript Academy gratuita su CoddyKit. Questa è la lezione 4 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 JavaScript Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso JavaScript Academy include 4 lezioni in totale.

Ora locale e UTC

Una data memorizza un istante assoluto, ma può essere letta nell'ora locale o in UTC, il riferimento orario globale. I getter sono disponibili in entrambe le modalità.

const d = new Date(Date.UTC(2024, 0, 15, 12, 0, 0))
console.log(d.getUTCHours())

Getter UTC

I metodi con prefisso UTC, come getUTCFullYear e getUTCHours, leggono i componenti della data nel fuso UTC, indipendentemente dalla macchina.

const d = new Date(Date.UTC(2024, 5, 15, 8, 30, 0))
console.log(d.getUTCFullYear())
console.log(d.getUTCHours())
console.log(d.getUTCMinutes())

getTimezoneOffset

getTimezoneOffset restituisce la differenza tra l'ora locale e UTC in minuti. Un valore positivo indica che l'ora locale è indietro rispetto a UTC.

const d = new Date()
const offset = d.getTimezoneOffset()
console.log(typeof offset)

Segno dell'offset

Il segno dell'offset è l'opposto di quello che molti si aspettano: un fuso orario avanti rispetto a UTC produce un offset negativo. Per convertire i minuti in ore, divida per 60.

const offsetMinutes = 120
const hours = offsetMinutes / 60
console.log(hours)

Creazione di date UTC

Date.UTC accetta gli stessi argomenti relativi ai componenti del costruttore, ma li interpreta come UTC e restituisce un timestamp che può essere passato a new Date.

const ts = Date.UTC(2024, 0, 1, 0, 0, 0)
const d = new Date(ts)
console.log(d.getUTCHours())

Setter UTC

I setter come setUTCHours modificano una data nel fuso UTC, rispecchiando i setter locali ma ancorandosi a UTC.

const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
d.setUTCHours(15)
console.log(d.getUTCHours())

La Z nelle stringhe ISO

La Z finale in una stringa ISO indica che l'ora è in UTC, detto anche tempo Zulu. Le stringhe che ne sono prive possono essere interpretate come ora locale.

const d = new Date("2024-01-15T10:00:00Z")
console.log(d.getUTCHours())

Stesso istante, letture diverse

I getter locali e quelli UTC descrivono lo stesso istante in fusi orari diversi, quindi i relativi valori dell'ora possono differire dell'offset.

const d = new Date(Date.UTC(2024, 0, 1, 12, 0, 0))
console.log(d.getUTCHours())

Memorizzazione in UTC

Una buona pratica comune consiste nel memorizzare tutte le date in UTC e convertirle nell'ora locale solo per la visualizzazione, evitando così ambiguità tra le diverse regioni.

const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
console.log(d.toISOString())

Specificare un fuso orario

I metodi di formattazione accettano un'opzione timeZone, che consente di visualizzare esplicitamente un istante in un fuso scelto, ad esempio UTC.

const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
const text = d.toLocaleString("en-US", { timeZone: "UTC" })
console.log(typeof text)

Evitare le insidie

Combinare metodi locali e UTC sulla stessa data causa bug difficili da individuare. Scelga un solo modello per ogni calcolo e lo applichi in modo coerente.

const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
console.log(d.getUTCFullYear())
console.log(d.getUTCMonth())

Verifica rapida

Verifichi le sue conoscenze sui fusi orari.

Riepilogo

Riepilogo: Legga e modifichi le date sempre nello stesso modo, locale o UTC.

  • I getter e i setter UTC operano nel fuso globale
  • getTimezoneOffset restituisce i minuti, con il segno invertito
  • Il suffisso Z indica che una stringa ISO è in UTC
  • Memorizzi in UTC e visualizzi nell'ora locale
const d = new Date(Date.UTC(2024, 0, 1, 12, 0, 0))
console.log(d.getUTCHours())

Domande Frequenti

La lezione «Fusi orari e UTC» è gratuita?

Sì — il testo completo di «Fusi orari e UTC» è 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 JavaScript Academy, passa a CoddyKit PRO. Il corso JavaScript Academy include 4 lezioni in totale.

Cosa imparerò in «Fusi orari e UTC»?

Gestisca correttamente UTC e ora locale. Eserciti JavaScript 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 JavaScript Academy?

Non è richiesta alcuna esperienza precedente. JavaScript 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 4 di 4.

Quanto tempo richiede la lezione «Fusi orari e UTC»?

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 JavaScript Academy?

Sì. Ogni lezione JavaScript 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. Creare e leggere le date
  2. Timestamp e calcoli sulle date
  3. Formattare le date
  4. Fusi orari e UTC
← Torna a JavaScript Academy