In any case, returns in DATE_FORMAT.
"""
if date_str == 'today':
- date_str = todays_date()
+ date_str = date_in_n_days(0)
elif date_str == 'yesterday':
- date = datetime.now() - timedelta(days=1)
- date_str = date.strftime(DATE_FORMAT)
+ date_str = date_in_n_days(-1)
elif date_str == 'tomorrow':
- date = datetime.now() + timedelta(days=1)
- date_str = date.strftime(DATE_FORMAT)
+ date_str = date_in_n_days(1)
try:
dt = datetime.strptime(date_str, DATE_FORMAT)
except (ValueError, TypeError) as e:
return dt.strftime(DATE_FORMAT)
-def todays_date() -> str:
- """Return current date in DATE_FORMAT."""
- return datetime.now().strftime(DATE_FORMAT)
+def date_in_n_days(n: int) -> str:
+ """Return in DATE_FORMAT date from today + n days."""
+ date = datetime.now() + timedelta(days=n)
+ return date.strftime(DATE_FORMAT)