Sådan konverteres Javascript UTC-dato til østlig tid

Folk udtrykker ofte tidszoner fra hele verden som positive eller negative forskydninger fra Coordinated Universal Time eller UTC. UTC er tidsstandarden baseret på International Atomic Time og i uformel brug betragtes som ækvivalent med Greenwich Mean Time (GMT). Ved hjælp af JavaScript-scriptingsproget kan du nemt konvertere UTC-tid til Eastern Time.

Trin 1

Instantiate et JavaScript-datoobjekt ved at kalde konstruktøren Date () og give den som sin eneste parameter UTC () -metoden (f.eks. Ved midnat den 1. januar 2000 UTC-tid, “var fooDay = ny dato (Date.UTC (2000) , 0,1,0,0,0,0)) ”). UTC () er en statisk metode, der returnerer antallet af millisekunder, der er gået siden midnat den 1. januar 1970 UTC-tid. Dens syntaks er Date.UTC (år, måned, dag, timer, minutter, sekunder, millisekunder), hvor alle argumenter udtrykkes som cifre. De første tre argumenter kræves, mens de resterende argumenter er valgfri. Dette datoobjekt repræsenterer det tidspunkt, du vil konvertere, udtrykt i din lokale tid.

Trin 2

Beregn tidsforskellen i millisekunder mellem UTC-tid og din lokale tid, og gem resultatet i en variabel. For at beregne din lokale offset skal du kalde metoden getTimezoneOffset () for dit Date-objekt og gange dets returværdi med 60.000 (f.eks. “Var localOffset = fooDay.getTimezoneOffset () * 60000”). Du multiplicerer med 60.000 for at konvertere minutter til millisekunder (1.000 millisekunder på et sekund * 60 sekunder på et minut = 60.000 millisekunder).

Trin 3

Få UTC-værdien i millisekunder af dit Date-objekt ved at kalde metoden getTime () og tilføje returværdien til din lokale forskydning (f.eks. “Var fooUTC = fooDay.getTime () + localOffset”).

Trin 4

Opret en konstant til at repræsentere den østlige tidszone forskydning i millisekunder (f.eks. "Const EAST = 3600000 * -5"). Du multiplicerer med 3.600.000 for at konvertere timer til millisekunder (1.000 millisekunder på et sekund * 60 sekunder på et minut * 60 minutter på en time = 3.600.000 millisekunder), og du ganger med -5, fordi Eastern Time er fem timer efter UTC-tid.

Instantier et andet datoobjekt ved at kalde konstruktøren Date () og sende det som eneste parameter summen af ​​UTC-værdien for det første Date-objekt og din østlige tidszone-offsetkonstant (f.eks. “Var barDay = ny dato (fooUTC + EAST) ) ”). Dette datoobjekt repræsenterer din oprindelige UTC-dato, nu konverteret til østlig tid.