from datetime import datetime, timedelta, timezone, date


def get_cst_now() -> datetime:
    """Returns the current datetime in UTC+8 (China Standard Time)."""
    tz = timezone(timedelta(hours=8))
    return datetime.now(tz)


def get_cst_today() -> date:
    """Returns today's date in UTC+8 (China Standard Time)."""
    return get_cst_now().date()


def get_current_time_str() -> str:
    """
    Returns the current time in UTC+8 (China Standard Time).
    Format: YYYY-MM-DD HH:MM:SS (CST)
    """
    return get_cst_now().strftime("%Y-%m-%d %H:%M:%S (CST)")

