Hvordan konvertere Javascript UTC-dato til østlig tid

Folk uttrykker ofte tidssoner fra hele verden som positive eller negative forskyvninger fra Coordinated Universal Time, eller UTC. UTC er tidsstandarden basert på International Atomic Time og i uformell bruk regnes som ekvivalent med Greenwich Mean Time (GMT). Ved hjelp av JavaScript-skriptspråk kan du enkelt konvertere UTC-tid til Eastern Time.

Trinn 1

Instantisere et JavaScript-datoobjekt ved å kalle konstruktøren Date () og sende den som eneste parameter UTC () -metoden (f.eks. Ved midnatt 1. januar 2000 UTC-tid, “var fooDay = new Date (Date.UTC (2000) , 0,1,0,0,0,0)) ”). UTC () er en statisk metode som returnerer antall millisekunder som har gått siden midnatt 1. januar 1970 UTC-tid. Syntaksen er Date.UTC (år, måned, dag, timer, minutter, sekunder, millisekunder), der alle argumenter uttrykkes som sifre. De tre første argumentene kreves mens de gjenværende argumentene er valgfrie. Dette datoobjektet representerer tiden du vil konvertere, uttrykt i lokal tid.

Steg 2

Beregn tidsforskjellen i millisekunder mellom UTC-tid og lokal tid, og lagre resultatet i en variabel. For å beregne din lokale forskyvning, ring getTimezoneOffset () -metoden til Date-objektet ditt og multipliser returverdien med 60 000 (f.eks. “Var localOffset = fooDay.getTimezoneOffset () * 60000”). Du multipliserer med 60 000 for å konvertere minutter til millisekunder (1000 millisekunder på ett sekund * 60 sekunder på ett minutt = 60 000 millisekunder).

Trinn 3

Få UTC-verdien i millisekunder av Date-objektet ditt ved å ringe til getTime () -metoden og legge til returverdien til din lokale forskyvning (f.eks. “Var fooUTC = fooDay.getTime () + localOffset”).

Trinn 4

Lag en konstant for å representere den østlige tidssonen forskjøvet i millisekunder (f.eks. "Const EAST = 3600000 * -5"). Du multipliserer med 3.600.000 for å konvertere timer til millisekunder (1000 millisekunder på ett sekund * 60 sekunder på ett minutt * 60 minutter på en time = 3.600.000 millisekunder), og du multipliserer med -5 fordi Eastern Time er fem timer etter UTC-tid.

Instantiere et annet Date-objekt ved å ringe konstruktøren Date (), og sende den som eneste parameter summen av UTC-verdien til det første Date-objektet og den østlige tidssonekompenseringskonstanten (f.eks. “Var barDay = ny dato (fooUTC + EAST ) ”). Dette datoobjektet representerer den opprinnelige UTC-datoen din, nå konvertert til østlig tid.