在c# windows窗口程序中 ,DateTimePicker这个控件上我是这样操作的        int dt1, dt2;
        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            
            DateTime dt1 = dateTimePicker1.Value;
        }        private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
        {
            DateTime dt2 = dateTimePicker2.Value;
        }        private void button1_Click(object sender, EventArgs e)
        {
            TimeSpan span = dt2.Subtract(dt1);
                        int dayDiff = span.Days;
        }
这样写后发现Subtract显示错误,和int冲突,请问该怎么修改?我做这个是想通过2个DateTimePicker这个控件来直接得出之间相差的天数,在这个程序中,我还有一个textbox来输出结果,请问这个要怎么写?

解决方案 »

  1.   

    DateTime dt1, dt2;
      private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
      {
        
         dt1 = dateTimePicker1.Value;
      }  private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
      {
         dt2 = dateTimePicker2.Value;
      }  private void button1_Click(object sender, EventArgs e)
      {
      TimeSpan span = dt2.Subtract(dt1);
          int dayDiff = span.Days;
      }
      

  2.   

    dt1,dt2数据类型定义错误啊,应该改为 DataTime dt1,dt2; 
      

  3.   


      private void button1_Click(object sender, EventArgs e)
      {
      TimeSpan span = dt2.Subtract(dt1);
          int dayDiff = span.Days;
      textbox.text=dayDiff.ToString();
      }
      

  4.   

    两个 datetime 类型变量 substract 怎么会报错呢
      

  5.   

    你是指报错还是指显示的数据不对?要获得天数也不是 Days,准确的应该是 TotalDaysConsole.WriteLine(DateTime.MaxValue.Subtract(DateTime.MinValue).TotalDays);
    Console.WriteLine(DateTime.MinValue.Subtract(DateTime.MaxValue).TotalDays);这两个都不会报错。你的程序应该也不会报错的吧。