import calendar


def 取某月天数(年份: int, 月份: int) -> int | None:
    """返回指定年份和月份一共有多少天。

    功能说明:
        - 这个函数用于直接查询某年某月的天数。
        - 适合做日期校验、排班表生成和月度统计。
        - 月份必须在 ``1`` 到 ``12`` 之间。
        - 参数不合法时，函数返回 ``None``。

    Args:
        年份: 要查询的年份。
        月份: 要查询的月份。

    Returns:
        成功时返回月份天数；失败时返回 ``None``。
    """
    try:
        年份 = int(年份)
        月份 = int(月份)
        if 年份 <= 0 or 月份 not in range(1, 13):
            return None
        return calendar.monthrange(年份, 月份)[1]
    except Exception:
        return None


if __name__ == "__main__":
    print("===== 示例1：查询 2026 年 3 月天数 =====")
    print("结果:", 取某月天数(2026, 3))

    print("\n===== 示例2：查询闰年 2 月天数 =====")
    print("结果:", 取某月天数(2024, 2))

    print("\n===== 示例3：传入字符串参数 =====")
    print("结果:", 取某月天数("2026", "11"))

    print("\n===== 示例4：月份超出范围 =====")
    print("结果:", 取某月天数(2026, 13))

    print("\n===== 示例5：年份不合法 =====")
    print("结果:", 取某月天数(0, 3))

    print("\n===== 示例6：应用场景-生成当月最后一天日期 =====")
    天数 = 取某月天数(2026, 9)
    print("结果:", f"2026-09-{天数:02}" if 天数 else None)
