ユーザー入力を解析して検証するコードがあります。
DateTime myDateTime = DateTime.Parse(userInput,currentCulture);
現在のカルチャは(en-caまたはfr-caに)設定されており、ユーザー入力は常にISO8601形式「yyyy-MM-dd」です。
ユーザーが1900-01-01と入力すると、日付は期待どおりに作成されます。 入力が「1900-01+01」の場合、作成された日時は1899-12-31 6:00:00 PM 例外はスローされませんが、DateTime.Parseはこれを間違った日付に変換します。
この作品を作るために私は使ってDateTime.ParseExact(userInput,"yyyy-MM-dd",currentCulture)
います。
だから私の質問はこれをどのように機能させるかではなく(私はそれを持っています)、+ 01または任意の+値はどうですか?ISO規格に何か欠けていますか?