graphzep
Version:
GraphZep: A temporal knowledge graph memory system for AI agents based on the Zep paper
59 lines (48 loc) • 1.4 kB
text/typescript
export function utcNow(): Date {
return new Date();
}
export function parseDbDate(dateStr: string | Date | null | undefined): Date | null {
if (!dateStr) return null;
if (dateStr instanceof Date) return dateStr;
try {
const date = new Date(dateStr);
if (isNaN(date.getTime())) return null;
return date;
} catch {
return null;
}
}
export function formatDateForDb(date: Date): string {
return date.toISOString();
}
export function addDays(date: Date, days: number): Date {
const result = new Date(date);
result.setDate(result.getDate() + days);
return result;
}
export function subtractDays(date: Date, days: number): Date {
return addDays(date, -days);
}
export function isBefore(date1: Date, date2: Date): boolean {
return date1.getTime() < date2.getTime();
}
export function isAfter(date1: Date, date2: Date): boolean {
return date1.getTime() > date2.getTime();
}
export function isSameDay(date1: Date, date2: Date): boolean {
return (
date1.getFullYear() === date2.getFullYear() &&
date1.getMonth() === date2.getMonth() &&
date1.getDate() === date2.getDate()
);
}
export function startOfDay(date: Date): Date {
const result = new Date(date);
result.setHours(0, 0, 0, 0);
return result;
}
export function endOfDay(date: Date): Date {
const result = new Date(date);
result.setHours(23, 59, 59, 999);
return result;
}