# -*- coding: utf-8 -*-
"""
系统时间工具模块

提供获取当前系统时间的工具函数，供配风计划审查智能体在版本审查、
编制时间审查等场景中判断配风日期的时效性。

工具列表：
- get_current_time: 获取当前系统日期时间
"""

from datetime import datetime, timezone, timedelta


# 中国标准时间 (UTC+8)
_CHINA_TZ = timezone(timedelta(hours=8))


def get_current_time() -> str:
    """获取当前系统日期时间。

    返回当前日期时间的多种格式，便于智能体在审查配风计划时判断时效性：
    - 当前日期时间（中国标准时间 CST，UTC+8）
    - 当前年月（yyyy年M月 格式，用于版本审查对比）
    - ISO 8601 格式（用于机器解析）
    - 星期几

    典型调用场景：
    1. 版本审查：判断配风计划的编制月份是否为当月最新版本
    2. 编制时间审查：判断编制时间是否在执行月份的上一个月
    3. 数据时效性判断：判断配风计划中的数据是否需要更新

    Returns:
        str: 当前日期时间信息，包含多格式时间字符串
    """
    now = datetime.now(_CHINA_TZ)
    weekday_cn = ["一", "二", "三", "四", "五", "六", "日"][now.weekday()]

    return (
        f"当前系统时间：\n"
        f"- 日期时间：{now.strftime('%Y年%m月%d日 %H:%M:%S')}（中国标准时间 CST）\n"
        f"- 当前年月：{now.strftime('%Y年%m月')}\n"
        f"- 当前月份：{now.month}月\n"
        f"- 当前年份：{now.year}年\n"
        f"- 星期：周{weekday_cn}\n"
        f"- ISO 8601：{now.strftime('%Y-%m-%dT%H:%M:%S+08:00')}"
    )
