Inleiding tot UTC-datums
JavaScript heeft een aantal functies die omgaan met UTC-tijd, maar wat is UTC-tijd? Volgens het Amerikaanse Navel Observatorium is UTC-tijd 'Coordinated Universal Time', een gecoördineerde civiele tijdschaal 'die wordt bijgehouden door tijdlaboratoria over de hele wereld ... bepaald met behulp van zeer precieze atoomklokken.' Dit is ongeveer hetzelfde als Greenwich Mean Time (GMT), maar is nauwkeuriger. Een aantal landen, zoals Marokko, IJsland en Mali; gebruik UTC rechtstreeks als hun civiele tijd. In de winter is UTC de civiele tijd voor het VK. US Civil Time wordt bepaald door een bepaald aantal uren dat wordt verrekend met UTC. Bijvoorbeeld, Arizona (dat de zomertijd niet behoudt) is altijd UTC + 7. Beijing, de tijdzone van China is UTC-8 (we zullen dit in onze onderstaande voorbeelden gebruiken.)

De meeste JavaScript-datummethoden hebben een equivalente methode die zich bezig houdt met UTC-tijd in plaats van lokale tijd. GetHours () retourneert bijvoorbeeld uur in lokale tijd, terwijl getUTCHours () het uur retourneert in UTC-tijd. Met toLocaleString () en relatief ten opzichte van UTC met toUTCString () kunt u een object Date in leesbare vorm krijgen voor de mens. Het JavaScript Date-object heeft zelfs een methode met de naam UTC. De UTC () -methode is een statische methode die wordt gebruikt om een ​​datum in een specifiek formaat om te zetten in milliseconden sinds 1 januari 1970 (ten opzichte van UTC). U kunt vervolgens de constructor Date () gebruiken om een ​​object Date met deze waarde te maken.

China heeft bijvoorbeeld aangekondigd dat de openingsceremonie van de Olympische Spelen van 2008 zal plaatsvinden op 8 augustus 2008 om 20:08 uur. We kunnen de UTC () -methode van JavaScript gebruiken om erachter te komen wanneer dit in lokale tijd is.

var offset = -8; // offset van UTC
var luckyday = nieuwe datum (Date.UTC (2008,7,8, (20 + offset), 8);
document.write ("De Olympische Spelen van 2008 begint om" + luckyday.toUTCString ());
document.write ("In lokale tijd is dit" + luckyday.toLocaleString ())

Notitie: In het bovenstaande voorbeeld heb ik van Beijing tijd naar UTC geconverteerd door de offset van UTC ("-8") toe te voegen aan de Beijing tijd - dit is de reden waarom argument 4 van Date.UTC "(20 + offset)" hierboven leest.

Als u JavaScript in uw browser beschikbaar hebt, kunt u hier een live voorbeeld van deze code bekijken.


REFERENTIE

Date.UTC ( jaar, maand [, dag, [uur, [minuten, [seconden, [milliseconden]]]]])

converteert de gegeven datum in milliseconden sinds 1 januari 1970.

Notitie: alle argumenten zijn cijfers. Zoals altijd in JavaScript, is een maand van 0 januari. Als een ander argument dan het jaar een groter of kleiner getal is dan mogelijk voor de waarde die het vertegenwoordigt, wordt dit gebruikt om het volgende grotere argument te beïnvloeden - een maand 13 wordt bijvoorbeeld geïnterpreteerd als februari van het volgende jaar en een maand van -2 wordt geïnterpreteerd als november van het voorgaande jaar.

BRON

US Naval Observatory. "Wat is Universal Time ?." 30 oktober 2003. US Naval Observatory, afdeling Astronomical Applications. 6 juli 2007.

Video-Instructies: Intro to TELEMANN FANTASIAS! | Team Recorder (Mei 2024).