from datetime import datetime


def 是否工作日(时间字符串: str | None = None) -> bool:
    """判断某个时间是不是工作日。

    功能说明:
        - 这个函数用于判断某个日期是不是星期一到星期五。
        - 你可以传入完整时间字符串，也可以不传参数直接判断今天。
        - 这里只按星期判断，不额外区分法定节假日。
        - 输入格式不正确时，函数返回 ``False``。

    Args:
        时间字符串: 要判断的时间字符串，格式为 ``YYYY-MM-DD HH:MM:SS``；不传时默认判断当前时间。

    Returns:
        是工作日返回 ``True``，否则返回 ``False``。
    """
    try:
        if 时间字符串 is None:
            时间对象 = datetime.now()
        else:
            时间对象 = datetime.strptime(时间字符串.strip(), "%Y-%m-%d %H:%M:%S")
        return 时间对象.weekday() < 5
    except Exception:
        return False


if __name__ == "__main__":
    print("===== 示例1：判断周一 =====")
    print("结果:", 是否工作日("2026-03-23 10:00:00"))

    print("\n===== 示例2：判断周五 =====")
    print("结果:", 是否工作日("2026-03-20 10:00:00"))

    print("\n===== 示例3：判断周末 =====")
    print("结果:", 是否工作日("2026-03-21 10:00:00"))

    print("\n===== 示例4：不传参数，判断今天 =====")
    print("结果:", 是否工作日())

    print("\n===== 示例5：输入错误格式 =====")
    print("结果:", 是否工作日("2026/03/21"))

    print("\n===== 示例6：应用场景-决定是否发送工作日晨报 =====")
    print("是否发送晨报:", 是否工作日("2026-03-23 08:00:00"))
