23 lines
656 B
Python
23 lines
656 B
Python
from datetime import date, datetime, timedelta
|
|
from typing import Optional
|
|
|
|
from barker.core.config import settings
|
|
|
|
|
|
def query_date(d: str = None) -> date:
|
|
return date.today() if d is None else datetime.strptime(d, "%d-%b-%Y").date()
|
|
|
|
|
|
def optional_query_date(d: str = None) -> Optional[date]:
|
|
return None if d is None else datetime.strptime(d, "%d-%b-%Y").date()
|
|
|
|
|
|
def effective_date(d: str = None) -> date:
|
|
return (
|
|
(
|
|
datetime.utcnow() + timedelta(minutes=settings.TIMEZONE_OFFSET_MINUTES - settings.NEW_DAY_OFFSET_MINUTES)
|
|
).date()
|
|
if d is None
|
|
else datetime.strptime(d, "%d-%b-%Y").date()
|
|
)
|