@accounter/server
Version:
Accounter GraphQL server
50 lines (49 loc) • 1.48 kB
TypeScript
/**
* Convert ISO date string to Date object
*
* @param dateString - ISO 8601 date string (YYYY-MM-DD or full ISO timestamp)
* @returns Date object
*
* @remarks
* - Accepts both date-only (YYYY-MM-DD) and full ISO timestamps
* - Date-only strings are parsed as UTC midnight to avoid timezone issues
* - Full timestamps preserve timezone information
*
* @throws {Error} If dateString is invalid or cannot be parsed
*
* @example
* ```typescript
* // Date-only (parsed as UTC midnight)
* const date1 = iso('2024-01-15'); // 2024-01-15T00:00:00.000Z
*
* // Full timestamp
* const date2 = iso('2024-01-15T14:30:00Z'); // 2024-01-15T14:30:00.000Z
* const date3 = iso('2024-01-15T14:30:00+02:00'); // With timezone offset
* ```
*/
export declare function iso(dateString: string): Date;
/**
* Get current date as ISO string (YYYY-MM-DD)
*
* @returns ISO date string in YYYY-MM-DD format
*
* @example
* ```typescript
* const today = isoToday(); // '2024-01-15'
* ```
*/
export declare function isoToday(): string;
/**
* Add days to an ISO date string
*
* @param dateString - ISO date string (YYYY-MM-DD)
* @param days - Number of days to add (can be negative)
* @returns New ISO date string (YYYY-MM-DD)
*
* @example
* ```typescript
* const tomorrow = addDays('2024-01-15', 1); // '2024-01-16'
* const yesterday = addDays('2024-01-15', -1); // '2024-01-14'
* ```
*/
export declare function addDays(dateString: string, days: number): string;