Jak uzyskać przesunięcie strefy czasowej za pomocą JavaScript?

Jak uzyskać przesunięcie strefy czasowej za pomocą JavaScript?
Aby uzyskać przesunięcie lokalnej strefy czasowej za pomocą JavaScript, nie będziesz musiał szukać dalej niż wbudowane metody wydania ES6 JavaScript. To dlatego, że JavaScript ES6 zapewnia funkcję o nazwie „getTimeZoneOffset ()”, Który zwraca lokalną strefę czasową użytkownika.

Metoda getTimeZoneOffset ()

Jak wspomniano powyżej, ta metoda zwraca lokalną strefę czasową użytkownika w postaci minut. Jeśli masz pojęcie, która strefa czasowa, to różnica minut między lokalną strefą czasową a UTC, która oznacza skoordynowany czas uniwersalny. Aby użyć tej metody w JavaScript, musisz mieć zmienną obiektu daty.

Składnia metody getTimeZoneOffset ()

Składnia jest podana jako:

varOffset = DateObj.getTimeZoneOffset ()
  • DATOBJ: Zmienna daty, na której zastosowano metodę getTimeZoneOffset ()
  • Varroffset: Zmienna, w której wartość zwracana jest przechowywana

Wartość zwracana
Zwiększenie strefy czasowej lokalnego czasu słonecznego użytkownika w stosunku do skoordynowanego uniwersalnego czasu w ciągu kilku minut.

Uwaga dodatkowa

Mimo że metoda getTimeZoneOffSet () jest stosowana tylko na zmiennej daty, wartość zmiennej daty nie ma nic wspólnego z wartością zwracającą tej metody. Wyjście getTimeZoneOffset () to Nan tylko wtedy, gdy zmienne daty otrzymują niewłaściwą wartość, na którą należy zainicjować.

Przykład 1: pobieranie strefy czasowej za pomocą zmiennej daty

W tym celu po prostu utwórz nową zmienną daty za pomocą następującego wiersza kodu:

var date = new Date ();

Konstruktor obiektu daty nie podano żadnych argumentów

Następnie po prostu zastosuj metodę getTimeZoneOffSet () i przechowuj wynik nowej zmiennej wymienionej jako offsetVar Jak:

var ofestvar = data.getTimeZoneOffset ();

Przekaż to offsetVar do funkcji dziennika konsoli, aby wyświetlić wyjście na terminalu:

konsola.log (oflestvar);

Wykonaj program, a wynik terminalu będzie:

Przesunięcie strefy czasowej jest -300.

Przykład 2: przekazanie wartości w konstruktorze daty

Tym razem utwórz dwie różne zmienne daty jako DATEVAR1 I DATEVAR2. W przypadku jednego z nich przełóż prawidłowy ciąg daty wewnątrz konstruktora dat (), a dla drugiego przejdź niepoprawny ciąg daty wewnątrz konstruktora dat ():

var datevar1 = nowa data („5 6 2020”);
var datevar2 = nowa data („45 2 2020”);

Zmienna drugiej daty została zainicjowana na niepoprawnej wartości w konstruktorze. Teraz zastosuj getTimeZoneOffSet () i owinąć je w funkcji dziennika konsoli, aby uzyskać wyjście prosto do terminala:

konsola.dziennik(
„Zastosowanie strefy czasowej za pomocą Datevar1:”,
DATEVAR1.getTimeZoneOffset ()
);
konsola.dziennik(
„Zastosowanie strefy czasowej za pomocą Datevar2:”,
DATEVAR2.getTimeZoneOffset ()
);

Następnie wykonaj program i obserwuj dane wyjściowe:

Dwie rzeczy są widoczne z powyższego zrzutu ekranu wyjściowego:

  1. Wartość wewnątrz konstruktora daty nie wpływa na przesunięcie strefy czasowej, o ile jest ważna.
  2. Jeśli wartość przekazana do konstruktora daty jest nieprawidłowa, getTimeZoneOffset () zwróci przesunięcie strefy czasowej jako Nan.

To wszystko dla tego artykułu.

Zakończyć

W JavaScript wbudowana funkcja getTimeZoneOffset () Zwraca różnicę lokalnej strefy czasowej użytkownika ze standardowego UTC (skoordynowany czas uniwersalny). Funkcję getTimeZoneOffSet () można zastosować tylko na zmiennej daty. Jednak wartość zmiennej daty nie wpływa na przesunięcie strefy czasowej, ponieważ przesunięcie strefy czasowej jest dla użytkownika, a nie zmienna daty. W przypadku Nan wartość w zmiennej daty, przesunięcie strefy czasowej jest zwracane jako Nan.