Hur konverterar jag Javascript UTC-datum till östlig tid

Människor uttrycker ofta tidszoner från hela världen som positiva eller negativa förskjutningar från Coordinated Universal Time eller UTC. UTC är den tidsstandard som är baserad på International Atomic Time och vid tillfällig användning anses den motsvara Greenwich Mean Time (GMT). Med hjälp av JavaScript-skriptspråket kan du enkelt konvertera UTC-tid till Eastern Time.

Steg 1

Instantiera ett JavaScript-datumobjekt genom att anropa konstruktorn Date () och vidarebefordra den som sin enda parameter UTC () -metoden (t.ex. vid midnatt den 1 januari 2000 UTC-tid, “var fooDay = nytt datum (Date.UTC (2000) , 0,1,0,0,0,0)) ”). UTC () är en statisk metod som returnerar antalet millisekunder som har gått sedan midnatt den 1 januari 1970 UTC-tid. Dess syntax är Date.UTC (år, månad, dag, timmar, minuter, sekunder, millisekunder), där alla argument uttrycks som siffror. De första tre argumenten krävs medan de återstående argumenten är valfria. Detta datumobjekt representerar den tid du vill konvertera, uttryckt i din lokala tid.

Steg 2

Beräkna tidsskillnaden i millisekunder mellan UTC-tid och din lokala tid och lagra resultatet i en variabel. För att beräkna din lokala förskjutning, ring metoden getTimezoneOffset () för ditt Date-objekt och multiplicera dess returvärde med 60 000 (t.ex. “var localOffset = fooDay.getTimezoneOffset () * 60000”). Du multiplicerar med 60 000 för att konvertera minuter till millisekunder (1000 millisekunder på en sekund * 60 sekunder på en minut = 60 000 millisekunder).

Steg 3

Skaffa UTC-värdet i millisekunder av ditt Date-objekt genom att anropa dess getTime () -metod och lägga till returvärdet till din lokala förskjutning (t.ex. “var fooUTC = fooDay.getTime () + localOffset”).

Steg 4

Skapa en konstant för att representera den östra tidszonsförskjutningen i millisekunder (t.ex. "const EAST = 3600000 * -5"). Du multiplicerar med 3 600 000 för att konvertera timmar till millisekunder (1000 millisekunder på en sekund * 60 sekunder på en minut * 60 minuter på en timme = 3600 000 millisekunder), och du multiplicerar med -5 eftersom Eastern Time är fem timmar efter UTC-tid.

Instantiera ett annat Date-objekt genom att anropa konstruktorn Date () och överlämna summan av UTC-värdet för det första Date-objektet och din Eastern Time Zone-förskjutningskonstant till det som sin enda parameter (t.ex. ) ”). Detta datumobjekt representerar ditt ursprungliga UTC-datum, nu konverterat till Eastern Time.