C#如何比较两个时间的大小?

 我来答
大野瘦子
高粉答主

推荐于2019-08-14 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34万
展开全部

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数。

跪着作揖
高粉答主

推荐于2019-10-04 · 繁杂信息太多,你要学会辨别
知道答主
回答量:598
采纳率:100%
帮助的人:17.2万
展开全部

方法一:

<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  

{

}

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
台桖晴05
推荐于2017-11-25
知道答主
回答量:26
采纳率:0%
帮助的人:10.1万
展开全部
stringstrTime1=DateTime.Now.ToString();
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
if(dt1>dt2)
{
……其他操作
}
网上找的 很多啊 不用再来提问了吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lib2cup
2012-11-07 · 超过24用户采纳过TA的回答
知道答主
回答量:280
采纳率:0%
帮助的人:74.8万
展开全部
通过>或<就可以比较
追问
问题在于对>这个运算符不好理解,比如说:
今天()昨天 它们是大于的关系还是小于的关系?
是不是时间晚的 就是大于?
追答
对呀时间越晚肯定越大
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式