TypeScript:
Konwersja daty na łańcuch znaków
How to: (Jak to zrobić:)
const currentDate: Date = new Date();
// Zamiana na lokalny format daty i czasu
const localDateString: string = currentDate.toLocaleString("pl-PL");
console.log(localDateString); // 'dd.mm.yyyy, HH:MM:SS'
// Zamiana na format ISO
const isoDateString: string = currentDate.toISOString();
console.log(isoDateString); // 'yyyy-mm-ddTHH:MM:SS.mmmZ'
// Wykorzystanie metody toString()
const simpleDateString: string = currentDate.toString();
console.log(simpleDateString); // 'Wed Apr 05 2023 14:56:17 GMT+0200 (czas środkowoeuropejski letni)'
Deep Dive (Dogłębna analiza)
Wczesne systemy komputerowe, przez ograniczenia pamięci i moc obliczeniową, używały różnych sposobów reprezentacji czasu – najczęściej jako liczby całkowite. Metody konwersji dat na string w TypeScript (dziedziczące po JavaScript) wynikają stąd, ale też z późniejszej potrzeby obsługi formatów zrozumiałych dla ludzi. Alternatywy obejmują ręczną konstrukcję ciągów znaków z elementów daty, lub użycie bibliotek zewnętrznych jak moment.js (obecnie często zastępowane przez nowsze rozwiązania jak date-fns lub luxon).
Implementacja Date.prototype.toString()
daje czytelny, ale maszynowo różnie interpretowany ciąg znaków. Date.prototype.toISOString()
zwraca datę w standardzie ISO 8601, poprawnie odbieranym przez różne systemy i przeglądarki. Wykorzystanie toLocaleString()
pozwala przedstawić datę w formacie lokalnym, idealnym do wyświetlenia end-userom. Ważne, by pamiętać o strefach czasowych podczas pracy z datami w aplikacjach międzynarodowych.