我提供你一些代码。你试试
using System;namespace DateTime001
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Datetime1
{
private static int[] notleapmonthday={31,28,31,30,31,30,31,31,30,31,30,31};
private static int[] leapmonthday={31,29,31,30,31,30,31,31,30,31,30,31};
private int year,month,day;

public Datetime1()
{
setDate(2000,1,1);
}

public Datetime1(int y,int m,int d)
{
setDate(y,m,d);
}

public void setDate(int y,int m,int d)
{
year=y;
month=m;
day=d;
}
private int  getYear()
{
return year;
}
private int getMonth()
{
return month;
}
private int getDay()
{
return day;
}

private static bool leapyear(int y)
{
if (y%4==0&&y%100!=0||y%400==0)
return true;
else
return false;

}

public static int getdayofmonth(int y,int m)
{
int year=y;
if (leapyear(year))
{
return leapmonthday[m-1];
}
else
{
return notleapmonthday[m-1];
}
}

public static int getdaynum(Datetime1 d)
{
int num=0;
for (int i=d.getYear()-1;i>=1900;i--)
if (leapyear(i))
num+=366;
else
num+=365;

for (int i=d.getMonth()-1;i>=1;i--)
{
num+=getdayofmonth(d.getYear(),i);
}
num+=d.getDay();
return num;
}
//计算某年某月的天数
public static int getDayNum(int y,int m)
{
int[] leap={31,29,31,30,31,30,31,31,30,31,30,31};
int[] notleap={31,28,31,30,31,30,31,31,30,31,30,31};
if (y%4==0&&y%100!=0||y%400==0)
return leap[m];
else
return notleap[m];
}


public static int DateMinus(Datetime1 dt1,Datetime1 dt2)
{
int num1=getdaynum(dt1);
int num2=getdaynum(dt2);
return (num2-num1);
}
}
}
以上这是类摸块的
下面是如何在Form中调用(你应该能看懂)
private void Form1_Load(object sender, System.EventArgs e)
{
this.txtnow.Text=date.ToShortDateString(); // this.txtnowdate.Text=date.ToShortDateString();
// this.txtyear.Text=date.Year.ToString();
// this.txtmonth.Text=date.Month.ToString();
// this.txtday.Text=date.Day.ToString();
} private void btnok_Click(object sender, System.EventArgs e)
{
if(this.txtoldtime.Text!="")
{
int i;
int days;
int year,month,day;
int yearold,monthold,dayold;
DateTime dateold=Convert.ToDateTime(this.txtoldtime.Text);
yearold=Convert.ToInt32(dateold.Year);
monthold=Convert.ToInt32(dateold.Month);
dayold=Convert.ToInt32(dateold.Day);
year=Convert.ToInt32(date.Year);
month=Convert.ToInt32(date.Month);
day=Convert.ToInt32(date.Day);
DateTime001.Datetime1 dtnow=new DateTime001.Datetime1(year,month,day);
DateTime001.Datetime1 dtold=new DateTime001.Datetime1(yearold,monthold,dayold);
days=Convert.ToInt32(DateTime001.Datetime1.DateMinus(dtold,dtnow));
this.txtcha.Text=days.ToString();
}
else
{
MessageBox.Show("未输入日期","!!!!",MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
        
}
}
}
}
肯定能用!马上给分(-: