Hoe Javascript UTC-datum naar Eastern Time te converteren?

Mensen drukken tijdzones van over de hele wereld vaak uit als positieve of negatieve offsets van Coordinated Universal Time of UTC. UTC is de tijdstandaard op basis van International Atomic Time en wordt bij incidenteel gebruik beschouwd als gelijkwaardig aan Greenwich Mean Time (GMT). Met behulp van de JavaScript-scripttaal kunt u UTC-tijd gemakkelijk converteren naar Eastern Time.

Stap 1

Instantieer een JavaScript Date-object door de Date()-constructor aan te roepen en er als enige parameter de UTC()-methode aan door te geven (bijv. voor middernacht op 1 januari 2000 UTC-tijd, "var fooDay = new Date(Date.UTC(2000) ,0,1,0,0,0,0))”)). UTC() is een statische methode die het aantal milliseconden retourneert dat is verstreken sinds middernacht van 1 januari 1970 UTC-tijd. De syntaxis is Datum.UTC(jaar, maand, dag, uren, minuten, seconden, milliseconden), waarbij alle argumenten worden uitgedrukt als cijfers. De eerste drie argumenten zijn vereist, terwijl de overige argumenten optioneel zijn. Dit object Date vertegenwoordigt de tijd die u wilt converteren, uitgedrukt in uw lokale tijd.

Stap 2

Bereken het tijdsverschil in milliseconden tussen UTC-tijd en uw lokale tijd en sla het resultaat op in een variabele. Om uw lokale offset te berekenen, roept u de methode getTimezoneOffset() van uw Date-object aan en vermenigvuldigt u de geretourneerde waarde met 60.000 (bijv. "var localOffset = fooDay.getTimezoneOffset() * 60000"). U vermenigvuldigt met 60.000 om minuten om te zetten in milliseconden (1.000 milliseconden in één seconde * 60 seconden in één minuut = 60.000 milliseconden).

Stap 3

Verkrijg de UTC-waarde in milliseconden van uw Date-object door de methode getTime() aan te roepen en de retourwaarde toe te voegen aan uw lokale offset (bijv. "var fooUTC = fooDay.getTime() + localOffset").

Stap 4

Maak een constante om de verschuiving van de oostelijke tijdzone in milliseconden weer te geven (bijv. "const EAST = 3600000 * -5"). Je vermenigvuldigt met 3.600.000 om uren om te zetten in milliseconden (1.000 milliseconden in één seconde * 60 seconden in één minuut * 60 minuten in één uur = 3.600.000 milliseconden), en je vermenigvuldigt met -5 omdat Eastern Time vijf uur achterloopt op UTC-tijd.

Instantieer een ander Date-object door de Date()-constructor aan te roepen en als enige parameter de som van de UTC-waarde van het eerste Date-object en uw Eastern Time Zone-offsetconstante (bijv. "var barDay = new Date(fooUTC + EAST) )"). Dit Date-object vertegenwoordigt uw oorspronkelijke UTC-datum, nu geconverteerd naar Eastern Time.