from datetime import datetime, timedelta


def 是否本周(时间字符串: str) -> bool:
    """判断某个时间是不是在本周内。

    功能说明:
        - 这个函数用于判断传入时间是否落在本周一到本周日之间。
        - 输入内容必须是 ``YYYY-MM-DD HH:MM:SS`` 格式。
        - 本周范围按照周一开始、周日结束来判断。
        - 输入格式不正确时，函数返回 ``False``。

    Args:
        时间字符串: 要判断的时间字符串。

    Returns:
        属于本周返回 ``True``，否则返回 ``False``。
    """
    try:
        输入日期 = datetime.strptime(时间字符串.strip(), "%Y-%m-%d %H:%M:%S").date()
        今天 = datetime.now().date()
        本周开始 = 今天 - timedelta(days=今天.weekday())
        本周结束 = 本周开始 + timedelta(days=6)
        return 本周开始 <= 输入日期 <= 本周结束
    except Exception:
        return False


if __name__ == "__main__":
    今天时间 = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    上周时间 = (datetime.now() - timedelta(days=7)).strftime("%Y-%m-%d %H:%M:%S")

    print("===== 示例1：传入今天的时间 =====")
    print("结果:", 是否本周(今天时间))

    print("\n===== 示例2：传入本周内的其他时间 =====")
    print("结果:", 是否本周((datetime.now() - timedelta(days=2)).strftime('%Y-%m-%d 09:00:00')))

    print("\n===== 示例3：传入上周时间 =====")
    print("结果:", 是否本周(上周时间))

    print("\n===== 示例4：输入错误格式 =====")
    print("结果:", 是否本周("2026/03/20"))

    print("\n===== 示例5：输入空字符串 =====")
    print("结果:", 是否本周(""))

    print("\n===== 示例6：应用场景-筛选本周提交的订单 =====")
    print("是否属于本周订单:", 是否本周(今天时间))
