Skip to main content
Glama
danielsimonjr

Enhanced Knowledge Graph Memory Server

dateUtils.ts2.32 kB
/** * Date Utilities * * Helper functions for date parsing, validation, and range filtering. * All dates use ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ). * * @module utils/dateUtils */ /** * Check if a date falls within a specified range. * * @param date - ISO 8601 date string to check * @param start - Optional start date (inclusive) * @param end - Optional end date (inclusive) * @returns True if date is within range * * @example * ```typescript * isWithinDateRange('2024-06-15T00:00:00Z', '2024-01-01T00:00:00Z', '2024-12-31T23:59:59Z'); // true * isWithinDateRange('2024-06-15T00:00:00Z', '2024-07-01T00:00:00Z'); // false * ``` */ export function isWithinDateRange( date: string, start?: string, end?: string ): boolean { const dateObj = new Date(date); if (isNaN(dateObj.getTime())) { return false; } if (start) { const startObj = new Date(start); if (isNaN(startObj.getTime())) { return false; } if (dateObj < startObj) { return false; } } if (end) { const endObj = new Date(end); if (isNaN(endObj.getTime())) { return false; } if (dateObj > endObj) { return false; } } return true; } /** * Parse and validate date range strings. * * @param startDate - Optional ISO 8601 start date * @param endDate - Optional ISO 8601 end date * @returns Parsed Date objects or null */ export function parseDateRange( startDate?: string, endDate?: string ): { start: Date | null; end: Date | null } { let start: Date | null = null; let end: Date | null = null; if (startDate) { start = new Date(startDate); if (isNaN(start.getTime())) { start = null; } } if (endDate) { end = new Date(endDate); if (isNaN(end.getTime())) { end = null; } } return { start, end }; } /** * Validate if a string is a valid ISO 8601 date. * * @param date - Date string to validate * @returns True if valid ISO 8601 date */ export function isValidISODate(date: string): boolean { const dateObj = new Date(date); return !isNaN(dateObj.getTime()) && dateObj.toISOString() === date; } /** * Get current timestamp in ISO 8601 format. * * @returns Current timestamp string */ export function getCurrentTimestamp(): string { return new Date().toISOString(); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/danielsimonjr/memory-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server