الملفات
todo-mcp-server/date_utils.py
2025-12-19 13:59:48 +03:00

48 أسطر
1.2 KiB
Python

"""
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)