Om funksjonen
Formål
Formatterer dato og klokkeslett med Intl.DateTimeFormat og støtter eksplisitt timeZone når visningen skal følge en bestemt tidssone.
Egner seg for
- Brukervendt visning av datoer, klokkeslett og dagsoverskrifter som skal følge brukerens locale eller en valgt tidssone.
Egner seg ikke for
- Ikke for maskinlesbare formater, sorteringsnøkler eller streng inputvalidering.
formatDateogformatDateTimesender verdien rett tilnew Date(...), mensformatDayHeadingkrever eksaktYYYY-MM-DD.
Signatur(er)
formatDate(dateStr: string, locale?: string) => string
| Parameter | Type | Beskrivelse |
|---|---|---|
dateStr | string | Dato/tidsverdi som sendes rett til new Date(...). |
locale (valgfri) | string | Overstyrer hvilket locale Intl.DateTimeFormat skal bruke. |
Returnerer: Kort dato (f.eks. "1. jan. 2026"). Returnerer "" for tom/manglende input.
import {formatDate, formatDateTime, formatDayHeading} from "/designsystem/funksjoner/formattering/format-date/format-date.js";
formatDate("2026-01-01"); // "1. jan. 2026"
formatDateTime("2026-01-01T10:00:00Z", "Europe/Oslo"); // "1. jan. 2026, 11:00"
formatDayHeading("2026-01-01"); // "torsdag 1. januar 2026"
formatDateTime(dateStr: string, timeZone?: string, locale?: string) => string
| Parameter | Type | Beskrivelse |
|---|---|---|
dateStr | string | Dato/tidsverdi som sendes rett til new Date(...). |
timeZone (valgfri) | string | IANA-tidssonen klokkeslettet skal vises i. |
locale (valgfri) | string | Overstyrer hvilket locale Intl.DateTimeFormat skal bruke. |
Returnerer: Dato og klokkeslett i angitt tidssone. Returnerer "" for tom/manglende input.
formatTime(dateStr: string, timeZone?: string, locale?: string) => string
| Parameter | Type | Beskrivelse |
|---|---|---|
dateStr | string | Dato/tidsverdi som sendes rett til new Date(...). |
timeZone (valgfri) | string | IANA-tidssonen klokkeslettet skal vises i. |
locale (valgfri) | string | Overstyrer hvilket locale Intl.DateTimeFormat skal bruke. |
Returnerer: Klokkeslett (f.eks. "14:20"). Returnerer "" for tom/manglende input.
formatDayHeading(dayKey: string, locale?: string) => string
| Parameter | Type | Beskrivelse |
|---|---|---|
dayKey | string | Ren YYYY-MM-DD-dagsnøkkel; funksjonen legger til T00:00:00 før parsing slik at datoen tolkes i lokal tid, ikke UTC. |
locale (valgfri) | string | Overstyrer hvilket locale Intl.DateTimeFormat skal bruke. |
Returnerer: Full ukedag og dato til bruk som overskrift for en dag-gruppe (f.eks. "torsdag 1. januar 2026"). Returnerer "Ikke datert" hvis input ikke matcher eksakt YYYY-MM-DD.
Prøv selv
Rediger uttrykket under - returverdien oppdateres live.
Tilgjengelighet
Ikke relevant: ren logikk uten DOM eller UI.
Referanser
Se også:
../format-varighet/index.html - Begge formaterer tidsrelatert informasjon for visning i lister, tidslinjer og detaljer.../format-currency/index.html - Søsterfunksjon i samme formatteringskategori, men for pengebeløp i stedet for dato/tid.../../oppslag/timezone-list/index.html - Leverer gyldige IANA-tidssoner som passer direkte inn iformatDateTime(...).../../bilde/exif/index.html -readExif()kan gi enDatesom ofte formateres videre for brukergrensesnittet.
Brukes av:
turer/js/features/receipts/receipts.jsturer/js/features/timeline/timeline.jsturer/js/features/header/header.jsturer/js/features/status/status.jsturer/js/pages/dashboard.js
Avhengigheter: Ingen