web-dev-qa-db-ja.com

文字列で表されるDateTimeは、カレンダーSystem.Globalization.GregorianCalendarではサポートされていません

enter image description here生年月日をSQLデータベースに保存したいだけですが、新しい例外が発生するたびに、データベースフィールドタイプはdatetimeになります。ここに私のコードがあります

 usinfo.BirthDate = DateTime.ParseExact(txtDOB.Text.ToString(), "MM/dd/yyyy", CultureInfo.InvariantCulture);
29
Ayaat Shifa

問題:最初にMM/dd/yyyyを使用してMonthを解析していますが、31/04/2012のように最初にdateを指定しています

Soluton:dd/MM/yyyy形式を使用する必要があります。

これを試して:

usinfo.BirthDate = DateTime.ParseExact(txtDOB.Text.ToString(), "dd/MM/yyyy", 
                                                CultureInfo.InvariantCulture);

編集:無効なDateここに31/04/2012を入力しました。

April Monthには31 daysを使用できません。最大30日間を使用できます。有効な日付を入力する必要があります。

41
usinfo.BirthDate = DateTime.ParseExact(txtDOB.Text.ToString(), "dd/MM/yyyy", 
                                                CultureInfo.InvariantCulture);

はい、これで問題を解決できます。

2