Files
energy-trade/backend/app/utils/helpers.py
kbt-devops fe76bc7629 Add FastAPI backend for energy trading system
Implements FastAPI backend with ML model support for energy trading,
including price prediction models and RL-based battery trading policy.
Features dashboard, trading, backtest, and settings API routes with
WebSocket support for real-time updates.
2026-02-12 00:59:26 +07:00

37 lines
1019 B
Python

from datetime import datetime, timedelta
from typing import Optional
import pytz
def utcnow() -> datetime:
"""Get current UTC datetime."""
return datetime.now(pytz.UTC)
def parse_date(date_str: str) -> datetime:
"""Parse date string to datetime."""
formats = ["%Y-%m-%d", "%Y-%m-%dT%H:%M:%S", "%Y-%m-%d %H:%M:%S"]
for fmt in formats:
try:
return datetime.strptime(date_str, fmt)
except ValueError:
continue
raise ValueError(f"Unable to parse date: {date_str}")
def format_timestamp(dt: datetime, format_str: str = "%Y-%m-%dT%H:%M:%S") -> str:
"""Format datetime to string."""
return dt.strftime(format_str)
def calculate_time_delta(start: datetime, end: datetime) -> timedelta:
"""Calculate time delta between two datetimes."""
return end - start
def safe_divide(a: float, b: float, default: float = 0.0) -> float:
"""Safely divide two numbers with default fallback."""
if b == 0:
return default
return a / b