入力された日付が正しいものかチェックするには？


こちらで指定する4桁の日付の記載方法から、存在している日付かどうかをチェックをしたいです。

例えば8月23日だったら0823のような感じで、こちらは実際に存在している日付なのですが、9999のような実際にありえない日付だった場合、エラーを出すようにしたいです。  
4桁と数字のチェックから、4桁の数字が存在する日付なのかをチェックするにはどのようにすればいいかご教授いただければ幸いです。

[code]

    time=input("日付を入力をしてください：")
    if len(time)==4 :
        if time.isdigit()==True:
            print("正常")
        else:
            print("数字ではありません")
    else:
        print("桁数が違います")
    
[/code]




"python date validation" で google 検索すると、例えば以下のページがヒットします。

[How do I validate a date string format in python? - Stack
Overflow](https://stackoverflow.com/q/16870663/2322778)

[回答の一つ](https://stackoverflow.com/a/16870690/2322778) を参考にすると、datetime
モジュールを使った以下のような方法が紹介されています。

>
[code]

>     from datetime import datetime
>  
>     datetime.strptime(date_string, "%Y-%m-%d")
>  
[/code]

もし不正な日付が指定された場合は `ValueError` が発生するので、`try` と `expect` を使って例外処理を書いてやればよさそうです。

今回の質問の例に当てはめるなら、日付のフォーマット指定の部分は以下の様になります。

[code]

    datetime.strptime(date_string, "%m%d")
    
[/code]

