C#如何比较两个时间的大小?
use "DateTime.Compare" static method
DateTime.Compare( dt1, dt2 ) > 0 : dt1 > dt2
DateTime.Compare( dt1, dt2 ) == 0 : dt1 == dt2
DateTime.Compare( dt1, dt2 ) < 0 : dt1 < dt2 ///
/// C#日期比较计算两个日期的时间间隔
///
/// 第一个日期和时间
/// 第二个日期和时间
///
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"
+ ts.Hours.ToString()+"小时"
+ ts.Minutes.ToString()+"分钟"
+ ts.Seconds.ToString()+"秒";
return dateDiff;
}
扩展资料:
关于C#日期比较的具体说明
1、DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻,因此,可以用DateTime值类型来描述任何在想象范围之内的时间,一个DateTime值代表了一个具体的时刻。
2、TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值。
C#日期比较其中的一部分代码说明:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
方法一:
<param name="dateStr1">日期1 </param>
<param name="dateStr2">日期2</param>
<param name="msg">返回信息</param>
public void CompanyDate(string dateStr1, string dateStr2,ref string msg)
//将日期字符串转换为日期对象
{
DateTime t1 = Convert.ToDateTime(dateStr1);
DateTime t2 = Convert.ToDateTime(dateStr2); //通过DateTIme.Compare()进行比较()
int compNum = DateTime.Compare(t1, t2); //t1> t2
if (compNum > 0)
{
msg = "t1:(" + dateStr1 + ")大于" + "t2(" + dateStr2 + ")";
} //t1= t2
if (compNum == 0)
{
msg = "t1:(" + dateStr1 + ")等于" + "t2(" + dateStr2 + ")";
} //t1< t2
if (compNum < 0)
{
msg = "t1:(" + dateStr1 + ")小于" + "t2(" + dateStr2 + ")";
}
}
方法二:
int param1,param2;
if(param1 > param2)
return 1;
else if(param1 < param2)
return -1;
else return 0;
扩展资料:
其他方法比较两个时间的大小:
private void DateDiff(DateTime DateTime1,DateTime DateTime2)
{
try
{
TimeSpan ts1 = TimeSpan.Parse("08:10")
TimeSpan ts2 = TimeSpan.Parse("08:00");
TimeSpan ts =ts1.Subtract(ts2); //ts.Minutes =10;
TimeSpan ts =ts2.Subtract(ts1); //ts.Minutes =-10;
TimeSpan ts =ts2.Subtract(ts1).Duration( ); //ts.Minutes =10;
}
catch
{
}
}
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
if(dt1>dt2)
{
……其他操作
}
网上找的 很多啊 不用再来提问了吧
问题在于对>这个运算符不好理解,比如说:
今天()昨天 它们是大于的关系还是小于的关系?
是不是时间晚的 就是大于?
对呀时间越晚肯定越大