""" Date utility functions for TODO MCP server. """ from datetime import datetime, timedelta from typing import Optional def parse_relative_date(relative_days: int) -> str: """ Convert a relative day offset to an absolute date string. Args: relative_days: Number of days relative to today 0 = today +1 = tomorrow -1 = yesterday +7 = one week from now Returns: Date string in YYYY-MM-DD format Examples: >>> parse_relative_date(0) # today '2025-12-18' >>> parse_relative_date(1) # tomorrow '2025-12-19' >>> parse_relative_date(-1) # yesterday '2025-12-17' """ target_date = datetime.now() + timedelta(days=relative_days) return target_date.strftime("%Y-%m-%d") def get_date_for_query(relative_days: Optional[int]) -> Optional[str]: """ Convert relative days to date string for queries, or return None if not specified. Args: relative_days: Optional relative day offset Returns: Date string in YYYY-MM-DD format, or None if relative_days is None """ if relative_days is None: return None return parse_relative_date(relative_days)