如何在c#中比较两个datetimepicker值

时间:2014-09-04 10:24:05

标签: c# winforms datetimepicker

我的Windows Form应用程序存在问题,其中有两个DateTimePicker控件显示“出生日期”“加入日期”

我想比较这些控制的值,使得出生日期不应该小于且不大于且不应该等于小于且不大于且不应该相等。 ..

我该怎么做?

2 个答案:

答案 0 :(得分:0)

试试此代码

DateTimePicker dtBDay = new DateTimePicker();
dtBDay.Value = DateTime.Now.AddYears(-5);
DateTimePicker dtJoin = new DateTimePicker();
dtJoin.Value = DateTime.Now;
if (dtBDay.Value >= dtJoin.Value)
{
    throw new Exception("Date of Join cannot be less than or equal to Date of Birth");
}

希望这会有所帮助

答案 1 :(得分:0)

正如jbutler483所建议的

我试图做但我最终无法获得任何解决方案,因为我使用了以下代码

 private void dtpdob_ValueChanged(object sender, EventArgs e)
  {
      int year = DateTime.Today.Year - dtpdob.Value.Year;
      int month = DateTime.Today.Month - dtpdob.Value.Month;
      int day = DateTime.Today.Day - dtpdob.Value.Day;
      var a = year.ToString();
      var b = month.ToString();
      var c = day.ToString();
      if (day != 0 && month!=0 && year!=0)
      {
          if(day!=1)
          txtage.Text = a + " Years " + b + " Months " + c + " Days ";
          else
              txtage.Text = a + " Years " + b + " Months " + c + " Day ";
      }
      else if (day == 0 && month == 0)
          txtage.Text = a + " Years ";
      else if (day == 0 && month != 0)
          txtage.Text = a + " Years " + b + " Months ";
      else
          txtage.Text = a + " Years " + b + " Months " + c + " Days "; 
  }