总是前一个变量减后一个变量
1. 简单比较大小:
DateTime.Compare(dt, dt2) > 0
返回dt - dt2与0的一个比较:结果小于0,则dt < dt2;大于0,则dt > dt2;等于0,则dt = dt2
2. 想得到具体差值,并以天、时、秒、毫秒及它们的小数为单位:
TimeSpan 表示一个时间间隔。
TimeSpan diff1 = dt2.Subtract(dt1); //dt2 - dt1
diff1.TotalSeconds.ToString(); //运算结果以秒为单位
此方法可以到具体的相差值
直接将两个DateTime相减,结果就是一个TimeSpan,从而可以取到TimeSpan的days等各个属性
例:
private void btnSearch_Click(object sender, EventArgs e)
{
DateTime dt = DateTime.Now;
string m="";
for (int i = 0; i < 10000; i++)
{
m=m+"ddd dddd-";
}
DateTime dt2 = DateTime.Now;
TimeSpan ts = dt2.Subtract(dt);
MessageBox.Show(ts.TotalMilliseconds.ToString());
}
最土办法:
解释:int ts = ( dt2 - dt1 ).TotalMilliseconds;
ASP.NET 中,两个时间相减,得到一个 TimeSpan 实例,TimeSpan 有一些属性:Days、TotalDays、Hours、TotalHours、Minutes、TotalMinutes、Seconds、TotalSeconds、Ticks,注意没有 TotalTicks。
这些属性名称开始理解有些困难,但阅读本文后,相应您一定茅塞顿开。
举例说明
•时间 1 是 2010-1-2 8:43:35;
•时间 2 是 2010-1-12 8:43:34。
用时间 2 减时间 1,得到一个 TimeSpan 实例。
那么时间 2 比时间 1 多 9 天 23 小时 59 分 59 秒。
那么,Days 就是 9,Hours 就是 23,Minutes 就是 59,Seconds 就是 59。
日期格式化,巧用ToString()
DateTime dt =new DateTime(2003,5,25);
this.textBox1.Text=dt.ToString("yy.M.d");
//结果 03.5.25
this.textBox2.Text=dt.ToString(“yyyy年M月”);
//结果 2003年5月
Convert.ToDateTime(dt.Now).ToString("yyyy/MM/dd HH:mm:ss:fff")
或 dt.ToString("yyyy/MM/dd hh:mm:ss:fff")
//结果 "2005/12/22 22:22:22:859"
注意:"yyyy/MM/dd HH:mm:ss" 月份和小时要大写,HH小写则显示12小时制