refactors
This commit is contained in:
parent
f46d2ae8b3
commit
168b67acee
12 changed files with 471 additions and 126 deletions
27
backend/utils/date_queries.py
Normal file
27
backend/utils/date_queries.py
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
"""Utilities for date/time query operations."""
|
||||
|
||||
from datetime import UTC, date, datetime, time
|
||||
|
||||
|
||||
def date_to_start_datetime(d: date) -> datetime:
|
||||
"""Convert a date to datetime at start of day (00:00:00) in UTC."""
|
||||
return datetime.combine(d, time.min, tzinfo=UTC)
|
||||
|
||||
|
||||
def date_to_end_datetime(d: date) -> datetime:
|
||||
"""Convert a date to datetime at end of day (23:59:59.999999) in UTC."""
|
||||
return datetime.combine(d, time.max, tzinfo=UTC)
|
||||
|
||||
|
||||
def date_range_to_datetime_range(
|
||||
start_date: date, end_date: date
|
||||
) -> tuple[datetime, datetime]:
|
||||
"""
|
||||
Convert a date range to datetime range.
|
||||
|
||||
Returns:
|
||||
Tuple of (start_datetime, end_datetime) where:
|
||||
- start_datetime is start_date at 00:00:00 UTC
|
||||
- end_datetime is end_date at 23:59:59.999999 UTC
|
||||
"""
|
||||
return date_to_start_datetime(start_date), date_to_end_datetime(end_date)
|
||||
Loading…
Add table
Add a link
Reference in a new issue