Tidszoner og UTC
Håndtér UTC og lokal tid korrekt.
Tidszoner og UTC er en gratis JavaScript Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i JavaScript Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. JavaScript Academy-kurset indeholder 4 lektioner i alt.
Lokal tid kontra UTC
En dato gemmer ét absolut tidspunkt, men den kan læses som lokal tid eller som UTC, den globale referencetid. Getterne findes i begge varianter.
const d = new Date(Date.UTC(2024, 0, 15, 12, 0, 0))
console.log(d.getUTCHours())UTC-gettere
Metoder med præfikset UTC, f.eks. getUTCFullYear og getUTCHours, læser datokomponenter i UTC-tidszonen uanset maskinen.
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 returnerer forskellen mellem lokal tid og UTC i minutter. En positiv værdi betyder, at den lokale tid er bagud i forhold til UTC.
const d = new Date()
const offset = d.getTimezoneOffset()
console.log(typeof offset)Forskydningens fortegn
Forskydningens fortegn er omvendt af det, mange forventer: en tidszone foran UTC giver en negativ forskydning. Omregn minutter til timer ved at dividere med 60.
const offsetMinutes = 120
const hours = offsetMinutes / 60
console.log(hours)Oprettelse af UTC-datoer
Date.UTC tager de samme komponentargumenter som konstruktøren, men fortolker dem som UTC og returnerer et tidsstempel, du kan give videre til new Date.
const ts = Date.UTC(2024, 0, 1, 0, 0, 0)
const d = new Date(ts)
console.log(d.getUTCHours())UTC-settere
Settere som setUTCHours justerer en dato i UTC-tidszonen. De fungerer som de lokale settere, men er forankret i UTC.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
d.setUTCHours(15)
console.log(d.getUTCHours())Z i ISO-strenge
Det afsluttende Z i en ISO-streng betyder, at tiden er i UTC, også kaldet Zulu-tid. Strenge uden Z kan blive fortolket som lokal tid.
const d = new Date("2024-01-15T10:00:00Z")
console.log(d.getUTCHours())Samme tidspunkt, forskellige aflæsninger
De lokale gettere og UTC-getterne beskriver det samme øjeblik i forskellige tidszoner, så deres timeværdier kan variere med forskydningen.
const d = new Date(Date.UTC(2024, 0, 1, 12, 0, 0))
console.log(d.getUTCHours())Lagring i UTC
En almindelig god praksis er at gemme alle datoer i UTC og først konvertere dem til lokal tid ved visning. Det undgår tvetydighed på tværs af regioner.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
console.log(d.toISOString())Angivelse af en tidszone
Formateringsmetoder accepterer indstillingen timeZone, så du udtrykkeligt kan vise et tidspunkt i en valgt tidszone, f.eks. 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)Undgå faldgruber
Hvis du blander lokale metoder og UTC-metoder på den samme dato, opstår der subtile fejl. Vælg én model pr. beregning, og anvend den konsekvent.
const d = new Date(Date.UTC(2024, 0, 1, 0, 0, 0))
console.log(d.getUTCFullYear())
console.log(d.getUTCMonth())Hurtig kontrol
Test din viden om tidszoner.
Opsummering
Opsummering: Læs og skriv datoer konsekvent i lokal tid eller UTC.
- UTC-gettere og -settere fungerer i den globale tidszone
- getTimezoneOffset returnerer minutter med omvendt fortegn
- Endelsen Z markerer en ISO-streng som UTC
- Gem i UTC, og vis i lokal tid
const d = new Date(Date.UTC(2024, 0, 1, 12, 0, 0))
console.log(d.getUTCHours())Lær JavaScript med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 59
- Lektioner
- 200
Ofte stillede spørgsmål
Er lektionen “Tidszoner og UTC” gratis?
Ja — alle 3 lektioner i læringssporet JavaScript Academy, inklusive “Tidszoner og UTC”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. JavaScript Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Tidszoner og UTC”?
Håndtér UTC og lokal tid korrekt. Du øver dig i JavaScript Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på JavaScript Academy?
Der kræves ingen tidligere erfaring. JavaScript Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Tidszoner og UTC”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne JavaScript Academy-lektion?
Ja. Alle JavaScript Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.