カレンダーを入力している 2 つのテキスト ボックスがあります。つまり、文字列形式でテキスト ボックスに日付を取得しています。
つまりstring startdate=txtstartdate.text;
つまりstring enddate=txtenddate.text;
ここで、これら 2 つの日付を比較する必要があります。私の要件は次のとおりです。 enddata は startdate より大きくなければなりません。
この点で私を助けてください。
DateTime.TryParse
のような例外をスローしないため、最も安全な方法ですDateTime.Parse
。呼び出し時に返さtrue/false
れるため、失敗を非常に簡単に処理できます。
string text1 = DateTime.Now.ToString();
string text2 = DateTime.Now.AddHours(-4).ToString();
DateTime d1;
if(!DateTime.TryParse(text1, out d1)) Console.WriteLine("Failed to parse text1");
DateTime d2;
if(!DateTime.TryParse(text2, out d2)) Console.WriteLine("Failed to parse text2");
if(d1 > d2) Console.WriteLine("d1 \"{0}\" is greater than d2 \"{1}\"", d1, d2);
else Console.WriteLine("d1 \"{0}\" is not greater than d2 \"{1}\"", d1, d2);
それらを日付として解析してから比較する必要があります。例:
DateTime sdate= DateTime.Parse(txtstartdate.Text);
DateTime edate = DateTime.Parse(txtenddate.Text);
if(sdate>edate)
{
Throw validation error;
}
if (DateTime.Parse(enddate).CompareTo(DateTime.Parse(startdate)) > 0) {
// enddate is later than startdate
}
このコードはエラー チェックを行いません。文字列を日付に解析するときに、エラー チェックを実行したい場合があります。