DateTime dt1 = Convert.ToDateTime("2003-5-15");
DateTime dt2 = Convert.ToDateTime("2003-7-31");
TimeSpan sp = dt2.Subtract(dt1);
int iDay = sp.Days;
string str1 = iDay + "天";
string str2 = (iDay / 30) + "月" + (iDay % 30) + "天";
DateTime dt2 = Convert.ToDateTime("2003-7-31");
TimeSpan sp = dt2.Subtract(dt1);
int iDay = sp.Days;
string str1 = iDay + "天";
string str2 = (iDay / 30) + "月" + (iDay % 30) + "天";
解决方案 »
- 服务器页面刷新的问题
- .cs给function传参的问题,求助!!
- 新版又上不去了,怎么没人发现吗?还是旧版好,随便问个小问题!
- 关于girdview
- 实现类似于MSG的消息提示框
- 超急!!!100分datalist中的小问题
- 简单问题,但我不会。如何用Label显示有格式的字符串》
- 怎么给框架页面中左边的Treeview的二级节点增加 target属性,用来传递参数到右边的页面?
- (求助)用ASP.NET如何读取客户端的真实IP地址
- 请各位大侠赐招
- ASP.NET的代码用什么编辑器打啊?我买的书上都是用记事本好累还容易出错.
- 我在程序中生成n个File,然后我想使用他们,但是我不知如何获取每个file控件及他们的属性?
DateTime t2 = new DateTime(2002,5,23);
TimeSpan diff=t1-t2;
int iDay=diff.Days;
string str1 = iDay + "天";
string str2 = (iDay / 30) + "月" + (iDay % 30) + "天";
如果是SQL的时间函数中有求datetime差的函数。不记名字了,查一下sql的帮助
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);
}
}
}
}