Różnice czasowe

W JavaScript, czas jest kluczowym elementem wielu aplikacji webowych, od prostych zegarów po skomplikowane harmonogramy. W tej lekcji skupimy się na obliczaniu różnic czasowych, co jest podstawową, ale niezbędną umiejętnością dla każdego dewelopera JavaScript.

Praca z obiektami daty

Jak już wiemy, JavaScript posiada wbudowany obiekt Date, który ułatwia zarządzanie datami i czasem. Aby obliczyć różnicę czasową, najpierw musimy stworzyć dwa obiekty Date:

let poczatek = new Date('2023-01-01');
let koniec = new Date('2023-12-31');

Obliczanie różnicy

Różnica między dwoma datami jest wyrażana w milisekundach. Aby uzyskać liczbę dni, godzin, minut lub sekund, należy przekształcić wynik:

let roznicaMs = koniec - poczatek; // różnica w milisekundach
let roznicaDni = roznicaMs / (1000 * 60 * 60 * 24);

Uwzględnienie stref czasowych

Praca ze strefami czasowymi może być trudnym wyzwaniem. JavaScript obsługuje strefy czasowe w obiektach Date, ale zawsze warto być świadomym potencjalnych problemów związanych z konwersją czasu.

Formatowanie Wyników

Często chcemy wyświetlić różnicę czasu w czytelnym formacie. Możemy to zrobić, konwertując milisekundy na dni, godziny, minuty i sekundy:

function formatujCzas(ms) {
	let sekundy = Math.floor((ms / 1000) % 60);
	let minuty = Math.floor((ms / (1000 * 60)) % 60);
	let godziny = Math.floor((ms / (1000 * 60 * 60)) % 24);
	let dni = Math.floor(ms / (1000 * 60 * 60 * 24));

	return dni + ' dni ' + godziny + ' godzin ' + minuty + ' minut ' + sekundy + ' sekund';
}

console.log(formatujCzas(roznicaMs));

Masz pytania lub uwagi?

discord icon Przejdź na Discord
Masz pytanie? Napisz do nas 👇
kontakt@frontstack.pl
Copyright © 2023 Frontstack