JavaScript:
Porównywanie dwóch dat

Jak to zrobić:

// Tworzenie dwóch dat
const date1 = new Date('2023-04-01');
const date2 = new Date('2023-04-02');

// Porównywanie dat
console.log(date1 < date2);  // true
console.log(date1 > date2);  // false
console.log(date1.getTime() === date2.getTime());  // false

// Różnica czasu w milisekundach
const timeDiff = date2 - date1;
console.log(timeDiff);  // 86400000 (milisekundy)

// Różnica w dniach
const daysDiff = timeDiff / (1000 * 60 * 60 * 24);
console.log(daysDiff);  // 1 (dzień)

Głębsze zagłębienie:

Porównywanie dat jest tak stare jak sama informatyka. Historia pokazuje, że wczesne systemy mogły mieć problem z interpretacją dat (np. problem roku 2000). Alternatywą jest używanie bibliotek takich jak Moment.js lub Date-fns, które oferują bardziej rozbudowane narzędzia do pracy z datami. W przypadku JavaScript, porównujemy daty przekształcając je na milisekundy (metoda .getTime()) lub poprzez bezpośrednie odjęcie dat od siebie, co JavaScript postrzega jako różnicę w milisekundach. Uwaga: należy pamiętać o strefach czasowych i praktykować użycie UTC przy porównywaniach.

Zobacz też: