日期时间比较

来源:互联网 发布:西门子plc编程培训 编辑:程序博客网 时间:2024/05/16 09:24

总是前一个变量减后一个变量

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小时制

 

 

原创粉丝点击