C#里面比较时间大小三种方法2008-07-1716:18:07|分类:.netc#|举报|字号订阅DateTimet1=newDateTime(100);DateTimet2=newDateTime(20);if(DateTime.Compare(t1,t2)0)Console.WriteLine(t1t2);if(DateTime.Compare(t1,t2)==0)Console.WriteLine(t1==t2);if(DateTime.Compare(t1,t2)0)Console.WriteLine(t1t2);1。比较时间大小的实验stringst1=12:13;stringst2=14:14;DateTimedt1=Convert.ToDateTime(st1);DateTimedt2=Convert.ToDateTime(st2);DateTimedt3=DateTime.Now;if(DateTime.Compare(dt1,dt2)0)msg.Text=st1++st2;elsemsg.Text=st1++st2;msg.Text+=\r\n+dt1.ToString();if(DateTime.Compare(dt1,dt3)0)msg.Text+=\r\n+st1++dt3.ToString();elsemsg.Text+=\r\n+st1++dt3.ToString();2。计算两个时间差值的函数,返回时间差的绝对值:privatestringDateDiff(DateTimeDateTime1,DateTimeDateTime2){stringdateDiff=null;try{TimeSpants1=newTimeSpan(DateTime1.Ticks);TimeSpants2=newTimeSpan(DateTime2.Ticks);TimeSpants=ts1.Subtract(ts2).Duration();dateDiff=ts.Days.ToString()+天+ts.Hours.ToString()+小时+ts.Minutes.ToString()+分钟+ts.Seconds.ToString()+秒;}catch{}returndateDiff;}3。实现计算DateTime1-36天=DateTime2的功能TimeSpants=newTimeSpan(40,0,0,0);DateTimedt2=DateTime.Now.Subtract(ts);msg.Text=DateTime.Now.ToString()+-+ts.Days.ToString()+天\r\n;msg.Text+=dt2.ToString();useDateTime.ComparestaticmethodDateTime.Compare(dt1,dt2)0:dt1dt2DateTime.Compare(dt1,dt2)==0:dt1==dt2DateTime.Compare(dt1,dt2)0:dt1dt2///summary///计算两个日期的时间间隔////summary///paramname=DateTime1第一个日期和时间/param///paramname=DateTime2第二个日期和时间/param///returns/returnsprivatestringDateDiff(DateTimeDateTime1,DateTimeDateTime2){stringdateDiff=null;TimeSpants1=newTimeSpan(DateTime1.Ticks);TimeSpants2=newTimeSpan(DateTime2.Ticks);TimeSpants=ts1.Subtract(ts2).Duration();dateDiff=ts.Days.ToString()+天+ts.Hours.ToString()+小时+ts.Minutes.ToString()+分钟+ts.Seconds.ToString()+秒;returndateDiff;}说明:1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值下面的列表涵盖了其中的一部分:Add:与另一个TimeSpan值相加。Days:返回用天数计算的TimeSpan值。Duration:获取TimeSpan的绝对值。Hours:返回用小时计算的TimeSpan值Milliseconds:返回用毫秒计算的TimeSpan值。Minutes:返回用分钟计算的TimeSpan值。Negate:返回当前实例的相反数。Seconds:返回用秒计算的TimeSpan值。Subtract:从中减去另一个TimeSpan值。Ticks:返回TimeSpan值的tick数。TotalDays:返回TimeSpan值表示的天数。TotalHours:返回TimeSpan值表示的小时数。TotalMilliseconds:返回TimeSpan值表示的毫秒数。TotalMinutes:返回TimeSpan值表示的分钟数。TotalSeconds:返回TimeSpan值表示的秒数。====================================================BRintjg=72;//设置一个增加的时间DateTimedt=Convert.ToDateTime(2006-4-2312:22:05);//设置一个初始化的时间DateTimenewdt=dt.AddHours(jg);//初始化时间加上增加的时间DateTimenowt=DateTime.Now;//现在的时间Response.Write(现在时间是:+nowt+br);Response.Write(数据库时间是:+dt+br);Response.Write(新的时间是:+newdt+br);if(newdtnowt)//如果相加后的时间大于现在的时间{Response.Write(可以);}else//否则{Response.Write(不行);}======================================================//得到某年某月的天数publicstaticintGetDaysInMonth(intrYear,intrMonth){DateTimedt1=DateTime.Parse(rYear+-+rMonth+-01);DateTimedt2=dt1.AddMonths(1);TimeSpants=dt2-dt1;return(int)ts.TotalDays;}//得到星期TextpublicstaticstringGetDayOfWeekHtml(intrDayOfWeek){switch(rDayOfWeek){case(int)DayOfWeek.Sunday:returnfontcolor=\#ff0000\星期日/font;case(int)DayOfWeek.Monday:returnfontcolor=\#000000\星期一/font;case(int)DayOfWeek.Tuesday:returnfontcolor=\#000000\星期二/font;case(int)DayOfWeek.Wednesday:returnfontcolor=\#000000\星期三/font;case(int)DayOfWeek.Thursday:returnfontcolor=\#000000\星期四/font;case(int)DayOfWeek.Friday:returnfontcolor=\#000000\星期五/font;case(int)DayOfWeek.Saturday:returnfontcolor=\#008800\星期六/font;default:return;}}//得到某年某月的起止日期,格式为0000-00-00publicstaticstring[]GetBeginEndDate(intrYear,intrMonth){string[]arr=newstring[2];DateTimedt1=DateTime.Parse(rYear+-+rMonth+-01);arr[0]=dt1.ToLongDateString();DateTimedt2=dt1.AddMonths(1).AddDays(-1);arr[1]=dt2.ToLongDateString();returnarr;}==========================在ASP中日期比较使用:DateDiff(d,2006-1-30,now)0;在C#中使用:TimeSpan代码如下:usingSystem;usingSystem.Collections;publicclassDatediffClass{publicstaticvoidMain(){DateTimedt1=DateTime.Parse(2006-04-01);DateTimedt2=DateTime.Parse(2006-05-01);TimeSpants=dt2.Subtract(dt1);Console.WriteLine(ts.TotalDays);Console.ReadLine();}}如果是比较大小:DateTime.Compare(t1,t2)0===================================1、DateTime数字型System.DateTimecurrentTime=newSystem.DateTime();1.1取当前年月日时分秒currentTime=System.DateTime.Now;1.2取当前年int年=currentTime.Year;1.3取当前月int月=currentTime.Month;1.4取当前日int日=currentTime.Day;1.5取当前时int时=currentTime.Hour;1.6取当前分int分=currentTime.Minute;1.7取当前秒int秒=currentTime.Second;1.8取当前毫秒int毫秒=currentTime.Millisecond;(变量可用中文)2、Int32.Parse(变量)Int32.Parse(常量)字符型转换转为32位数字型3、变量.ToString()字符型转换转为字符串12345.ToString(n);//生成12,345.0012345.ToString(C);//生成¥12,345.0012345.ToString(e);//生成1.234500e+00412345.ToString(f4);//生成12345.000012345.ToString(x);//生成3039(16进制)12345.ToString(p);//生成1,234,500.00%4、变量.Length数字型取字串长度:如:stringstr=中国;intLen=str.Length;//Len是自定义变量,str是求测的字串的变量名5、System.Text.Encoding.Default.GetBytes(变量)字码转换转为比特码如:byte[]bytStr=System.Text.Encoding.Default.GetBytes(str);然后可得到比特长度:len=bytStr.Length;6、Syst