Päivämäärän jäsennys merkkijonosta

TypeScript:
Päivämäärän jäsennys merkkijonosta

Kuinka:

TypeScript, ollessaan JavaScriptin yliluokka, nojaa Date-objektiin merkkijonoista päivämäärien jäsentämiseksi. Kuitenkin päivämäärien käsittely JS/TS:ssä voi muuttua monisanaiseksi tai epätarkaksi johtuen Date-objektin omituisuuksista. Tässä on perusesimerkki, minkä jälkeen tulee lähestymistapa käyttäen suosittua kirjastoa, date-fns, kestävämpiin ratkaisuihin.

JavaScriptin Date-objektin käyttö

// Perusjäsennys käyttäen Date-konstruktoria
const dateFromString = new Date("2023-04-21T15:00:00Z");
console.log(dateFromString.toString()); 
// Tuloste GMT:lle: "Fri Apr 21 2023 15:00:00 GMT+0000 (Koordinoitu yleisaika)"

Tämä menetelmä toimii ISO-muotoisten merkkijonojen ja joittenkin muiden päivämäärämuotojen kanssa, mutta voi tuottaa epäjohdonmukaisia tuloksia epäselvien muotojen kanssa eri selaimissa ja paikallisasetuksissa.

date-fns:n käyttö

date-fns-kirjasto tarjoaa suoraviivaisen ja johdonmukaisen tavan käsitellä päivämääriä. Se on modulaarinen kirjasto, joka mahdollistaa vain tarvitsemiisi osiin keskittymisen, vähentäen paketin kokoa.

Asenna ensin date-fns:

npm install date-fns

Käytä sen jälkeen sitä merkkijonosta päivämäärän jäsentämiseen:

import { parseISO, format } from 'date-fns';

// ISO-merkkijonon jäsentäminen
const dateString = "2023-04-21T15:00:00Z";
const parsedDate = parseISO(dateString);

// Päivämäärän muotoilu (esim. ihmislukukelpoiseen muotoon)
console.log(format(parsedDate, "PPPpp")); 
// Tuloste: "Apr 21st, 2023 at 3:00 PM" (tuloste voi vaihdella paikallisasetusten mukaan)

date-fns tukee laajaa valikoimaa muotoja ja paikallisia asetuksia, tehden siitä vankan valinnan sovelluksille, jotka vaativat tarkkaa päivämäärän jäsentämistä ja muotoilua eri käyttäjäalueilla.