from datetime import datetime, timedelta


def 取后N天日期(天数: int) -> str | None:
    """返回当前日期往后推 N 天后的日期。

    功能说明:
        - 这个函数用于计算几天后是哪一天。
        - 传入 ``3`` 就表示返回 3 天后的日期。
        - 返回格式固定为 ``YYYY-MM-DD``。
        - 如果天数不是整数，函数返回 ``None``。

    Args:
        天数: 要往后推的天数。

    Returns:
        成功时返回日期字符串；失败时返回 ``None``。
    """
    try:
        return (datetime.now() + timedelta(days=天数)).strftime("%Y-%m-%d")
    except Exception:
        return None


if __name__ == "__main__":
    print("===== 示例1：取 3 天后的日期 =====")
    print("结果:", 取后N天日期(3))

    print("\n===== 示例2：取 0 天后的日期，也就是今天 =====")
    print("结果:", 取后N天日期(0))

    print("\n===== 示例3：取 30 天后的日期 =====")
    print("结果:", 取后N天日期(30))

    print("\n===== 示例4：传入负数，相当于往前推 =====")
    print("结果:", 取后N天日期(-2))

    print("\n===== 示例5：天数不是整数 =====")
    print("结果:", 取后N天日期("3"))

    print("\n===== 示例6：应用场景-计算 7 天后的回访日期 =====")
    回访日期 = 取后N天日期(7)
    print("回访日期:", 回访日期)
