dato-konverter
Version:
Konverter JavaScript-datoer til dansk format med korrekt tidszone. Understøtter formater som '15. okt. 2024 kl. 13:00' og tilbyder funktioner som dansk ugedag, ugenummer og weekend-detektion.
91 lines (90 loc) • 3.97 kB
TypeScript
/**
* Returnerer en dansk formateret dato med fleksible valg.
* @param input En dato som Date, string eller timestamp.
* @param opts Indstillinger for visning.
* - weekday: true/false — skal ugedag vises?
* - weekdayFormat: "short"/"long"
* - monthFormat: "short"/"long"
* - year: true/false — skal år vises? (default: true)
* - time: true/false — skal klokkeslæt vises?
* - includeKl: true/false — skal "kl." inkluderes i tidsformatet? (default: true)
* - leadingZero: true/false — skal dag have foranstillet nul? (default: true)
* @throws Fejl hvis datoen er ugyldig.
* @example
* formatDanishDate('2024-06-15T12:00:00Z', { weekday: true, year: false, time: true, includeKl: false });
* // => "lør. 15. jun. 14.00"
*/
export declare function formatDanishDate(input: Date | string | number, opts?: {
weekday?: boolean;
weekdayFormat?: "short" | "long";
monthFormat?: "short" | "long";
year?: boolean;
time?: boolean;
includeKl?: boolean;
leadingZero?: boolean;
}): string;
/**
* Returnerer en dansk formateret ugedag, fx: "lør.".
* @param input En dato som Date, string eller timestamp.
* @param opts Valgfrit - brug `{ long: true }` for fulde ugedagsnavne. F.eks: "lørdag".
* @throws Fejl hvis datoen er ugyldig.
* @returns En formateret ugedag i dansk format.
* @example
* danishWeekday('2024-06-15T12:00:00Z'); // "lør."
* danishWeekday('2024-06-15T12:00:00Z', { long: true }); // "lørdag"
*/
export declare function danishWeekday(input: Date | string | number, opts?: {
long?: boolean;
}): string;
/**
* Returnerer den danske ugenummer for en given dato. F.eks: 24 for 15. juni 2024.
* @param input En dato som Date, string eller timestamp.
* @throws Fejl hvis datoen er ugyldig.
* @returns Et dansk ugenummer (1–53).
* @example
* danishWeekNumber('2024-06-15T12:00:00Z'); // 24
*/
export declare function danishWeekNumber(input: Date | string | number): number;
/**
* Tjekker om en given dato er i weekenden (lørdag eller søndag) i Danmark.
* @param input En dato som Date, string eller timestamp.
* @throws Fejl hvis datoen er ugyldig.
* @returns En boolean der angiver om datoen er i weekenden.
* @example
* danishIsWeekend('2024-06-15T12:00:00Z'); // true (lørdag)
* danishIsWeekend('2024-06-16T12:00:00Z'); // true (søndag)
* danishIsWeekend('2024-06-17T12:00:00Z'); // false (mandag)
*/
export declare function danishIsWeekend(input: Date | string | number): boolean;
/**
* Tjekker om en given dato er i dag.
* @param input En dato som Date, string eller timestamp.
* @throws Fejl hvis datoen er ugyldig.
* @returns En boolean der angiver om datoen er i dag.
* @example
* danishIsToday('2024-06-15T12:00:00Z'); // false (hvis i dag er 16. juni 2024)
* danishIsToday(new Date()); // true (hvis i dag er 16. juni 2024)
*/
export declare function danishIsToday(input: Date | string | number): boolean;
/**
* Tjekker om en given dato er i morgen.
* @param input En dato som Date, string eller timestamp.
* @throws Fejl hvis datoen er ugyldig.
* @returns En boolean der angiver om datoen er i morgen.
* @example
* danishIsTomorrow('2024-06-16T12:00:00Z'); // true (hvis i dag er 15. juni 2024)
* danishIsTomorrow(new Date()); // false (hvis i dag er 16. juni 2024)
*/
export declare function danishIsTomorrow(input: Date | string | number): boolean;
/**
* Formaterer en dato til en relativ dansk dato-streng.
* @param input En dato som Date, string eller timestamp.
* @throws Fejl hvis datoen er ugyldig.
* @returns En formateret relativ dato-streng i dansk format.
* @example
* formatRelativeDanishDate('2024-06-12T07:58:00Z'); // "09.58"
* formatRelativeDanishDate('2024-06-11T07:58:00Z'); // "i går 09.58"
* formatRelativeDanishDate('2024-06-10T07:00:00Z'); // "mandag 10.06"
* formatRelativeDanishDate('2024-05-27T08:41:00Z'); // "27.05 10.41"
*/
export declare function formatRelativeDanishDate(input: Date | string | number): string;