from datetime import datetime


def 标准时间转ISO格式(时间字符串: str) -> str | None:
    """把标准时间字符串转成 ISO 格式字符串。

    功能说明:
        - 这个函数用于把 ``YYYY-MM-DD HH:MM:SS`` 转成 ``YYYY-MM-DDTHH:MM:SS``。
        - ISO 格式更适合接口传输和程序之间交换时间数据。
        - 输入格式不正确时，函数返回 ``None``。

    Args:
        时间字符串: 标准时间字符串。

    Returns:
        成功时返回 ISO 格式时间字符串；失败时返回 ``None``。
    """
    try:
        时间对象 = datetime.strptime(时间字符串.strip(), "%Y-%m-%d %H:%M:%S")
        return 时间对象.isoformat(timespec="seconds")
    except Exception:
        return None


if __name__ == "__main__":
    print("===== 示例1：标准时间转 ISO 格式 =====")
    print("结果:", 标准时间转ISO格式("2026-03-20 10:30:45"))

    print("\n===== 示例2：午夜时间转 ISO 格式 =====")
    print("结果:", 标准时间转ISO格式("2026-03-20 00:00:00"))

    print("\n===== 示例3：跨年时间转 ISO 格式 =====")
    print("结果:", 标准时间转ISO格式("2026-12-31 23:59:59"))

    print("\n===== 示例4：输入错误格式 =====")
    print("结果:", 标准时间转ISO格式("2026/03/20 10:30:45"))

    print("\n===== 示例5：输入空字符串 =====")
    print("结果:", 标准时间转ISO格式(""))

    print("\n===== 示例6：应用场景-把数据库时间转成接口字段时间 =====")
    print("结果:", 标准时间转ISO格式("2026-03-20 18:00:00"))
