0

カレンダーを入力している 2 つのテキスト ボックスがあります。つまり、文字列形式でテキスト ボックスに日付を取得しています。

つまりstring startdate=txtstartdate.text;

つまりstring enddate=txtenddate.text;

ここで、これら 2 つの日付を比較する必要があります。私の要件は次のとおりです。 enddata は startdate より大きくなければなりません。

この点で私を助けてください。

4

4 に答える 4

1

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);

また、いくつかの回答が を使用していることに気付きましたが、ほとんどCompare使用していません。.Compare

于 2013-08-01T14:39:19.460 に答える
0

それらを日付として解析してから比較する必要があります。例:

DateTime sdate= DateTime.Parse(txtstartdate.Text);
DateTime edate = DateTime.Parse(txtenddate.Text);

if(sdate>edate)
{
   Throw validation error;
}
于 2013-08-01T14:28:16.427 に答える
0
if (DateTime.Parse(enddate).CompareTo(DateTime.Parse(startdate)) > 0) {
// enddate is later than startdate
}

このコードはエラー チェックを行いません。文字列を日付に解析するときに、エラー チェックを実行したい場合があります。

于 2013-08-01T14:31:48.523 に答える