C#如何比较两个时间的大小? C#通过什么函数比较Datetime类型数据的大小?

\u600e\u4e48\u7528C#\u8bed\u8a00\u6bd4\u8f83\u4e24\u4e2a\u65f6\u95f4\u7684\u5927\u5c0f\uff1f

var s1 = "2009-4-22 16:27:18"; var s2 = "2009-03-22 16:29:58"; DateTime date1 = Convert.ToDateTime(s1); DateTime date2 = Convert.ToDateTime(s2); if(date1>date2) { Console.WriteLine("{0}\u5927\u4e8e{1}",s1,s2); } else if(date1==date2) { Console.WriteLine("{0}\u7b49\u4e8e{1}",s1,s2); } else { Console.WriteLine("{0}\u5c0f\u4e8e{1}",s1,s2); }

DateTime date = new DateTime();
DateTime value = DateTime.Now;
if( date .CompareTo(value)){......}\u76f4\u63a5\u8fd9\u6837\u5c31\u597d\u4e86\u8fd4\u56de\u503c:\u5c0f\u4e8e\u96f6 \u6b64\u5b9e\u4f8b\u65e9\u4e8e value\u3002\u96f6 \u6b64\u5b9e\u4f8b\u4e0e value \u76f8\u540c\u3002\u5927\u4e8e\u96f6 \u6b64\u5b9e\u4f8b\u665a\u4e8e value\u3002

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  

{

}

}



stringstrTime1=DateTime.Now.ToString();
stringstrTime2=DateTime.Now.AddDays(-1).ToString();
DateTimedt1=Convert.ToDateTime(strTime1);
DateTimedt2=Convert.ToDateTime(strTime2);
if(dt1>dt2)
{
……其他操作
}
网上找的 很多啊 不用再来提问了吧

通过>或<就可以比较

  • c鏄粈涔?
    绛旓細c鏄瓧姣嶇鍙枫C锛堝ぇ鍐欙級 銆乧锛堝皬鍐欙級鏄嫳鏂囧瓧姣嶉『鏁扮涓変釜锛屼縿璇瓧姣嶉『鏁扮19涓備緥濡傦細鑻辫鍗曡瘝cloud鍜屸滆嫃鑱斺濈殑淇勮缂╁啓小小小袪鐨勭涓涓瓧姣嶅氨鏄痗銆傝捣婧愶細锛1锛夊瓧姣岰鐨勪骇鐢熷彲鑳芥槸鐢变簬涓涓姇鎺锋鐨勭鍙凤紝鍍忓湪鍙ゅ焹鍙婄殑璞″舰鏂囧瓧閲岋紝骞跺緢鏃╁嚭鐜板湪闂棌鐨勪功闈㈠綋涓-澶х害鍦ㄥ叕鍏冨墠1500骞寸殑瑗垮鍗婂矝銆傦紙...
  • C鐨勫惈涔夋槸浠涔?
    绛旓細鏁板绗﹀彿c鍙充笂瑙掓槸1鍙充笅瑙掓槸4鐨勬剰鎬濇槸鏁板涓殑缁勫悎锛屽彸涓嬭鐨4琛ㄧず鎬讳綋涓暟锛屽彸涓婅鐨1琛ㄧず鎶藉彇涓暟锛屼笖浠4涓噷闈㈡娊鍙栦竴涓紝C¹₄=4梅1=4銆傜粍鍚堬細涓鑸湴锛屼粠n涓笉鍚岀殑鍏冪礌涓紝浠诲彇m锛坢鈮锛変釜鍏冪礌涓轰竴缁勶紝鍙綔浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑涓涓粍鍚堛傛墍鏈夎繖鏍风殑缁勫悎鐨勬绘暟...
  • c鏄粈涔堟剰鎬
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • 涓轰粈涔c鏄粍鍚?
    绛旓細鏁板绗﹀彿c鍙充笂瑙掓槸1鍙充笅瑙掓槸4鐨勬剰鎬濇槸鏁板涓殑缁勫悎锛屽彸涓嬭鐨4琛ㄧず鎬讳綋涓暟锛屽彸涓婅鐨1琛ㄧず鎶藉彇涓暟锛屼笖浠4涓噷闈㈡娊鍙栦竴涓紝C¹₄=4梅1=4銆傜粍鍚堬細涓鑸湴锛屼粠n涓笉鍚岀殑鍏冪礌涓紝浠诲彇m锛坢鈮锛変釜鍏冪礌涓轰竴缁勶紝鍙綔浠巒涓笉鍚屽厓绱犱腑鍙栧嚭m涓厓绱犵殑涓涓粍鍚堛傛墍鏈夎繖鏍风殑缁勫悎鐨勬绘暟...
  • c鏄粈涔?
    绛旓細鍖栧涓C琛ㄧず鐗╄川鐨勯噺娴撳害锛堟懇灏旀祿搴︼級锛屾槸涓绉嶅父鐢ㄧ殑婧舵恫娴撳害鐨勮〃绀烘柟娉曪紝涓烘憾娑蹭腑婧惰川鐨勭墿璐ㄧ殑閲忛櫎浠ユ贩鍚堢墿鐨勪綋绉備互涓婇潰鍏紡涓紝C(B)浠h〃婧惰川鐨勭墿璐ㄧ殑閲忔祿搴︼紝n(B)浠h〃婧惰川鐨勭墿璐ㄧ殑閲忥紝V浠h〃婧舵恫鐨勪綋绉傛憾娑叉祿搴﹀彲鍒嗕负璐ㄩ噺娴撳害锛堝璐ㄩ噺鐧惧垎娴撳害锛夈佷綋绉祿搴︼紙濡傛懇灏旀祿搴︺佸綋閲忔祿搴︼級鍜岃川閲-浣撶Н...
  • c鐨勫ぇ鍐欏瓧姣嶆槸浠涔?
    绛旓細c鐨勫ぇ鍐欏瓧姣嶆槸C銆傚崰鍥涚嚎鏍肩殑涓牸锛屾敞鎰忚鐣欏嚭涓涓己鍙o紝涓嶈灏佷綇銆26涓瓧姣嶈嫳璇ぇ灏忓啓鍒嗗埆涓篈a銆丅b銆丆c銆丏d銆丒e銆丗f銆丟g銆丠h銆両i銆丣j銆並k銆丩l銆丮m銆丯n銆丱o銆丳p銆丵q銆丷r銆丼s銆乀t銆乁u銆乂v銆乄w銆乆x銆乊y銆乑z銆備功鍐欒嫳璇瓧姣嶆椂瑕佹寜鐓у瓧姣嶇殑绗旂敾鍜屽瓧姣嶅湪涓変釜鏍间腑鎵鍗犳嵁鐨勪綅缃功鍐欙紝鍚屾椂姣忎釜瀛楁瘝閮...
  • c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔
    绛旓細c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔,鐢ㄥ悇绉嶅悇鏍风殑绗﹀彿鏉ヤ唬鏇挎垜浠兂瑕佽〃杈剧殑鐪熷疄鎰忔濇槸鎴戜滑瀵逛竴浠芥劅鎯呯殑鍚搫琛ㄧず,涓栭棿涓囩墿瀛樺湪鐨勬剰涔夊氨鏄垜浠祴浜堢殑鍐呮兜,涓嬮潰鍒嗕韩c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔堛 c鍦ㄧ埍鎯呯殑鍚箟鏄粈涔1 C鎸囩殑鏄幇鍦ㄦ祦琛岀殑C鍨嬬埍鎯呰銆 C鍨嬬埍鎯呰 鈥淐鍨嬬埍鎯呰鈥濇寚鐨勬槸瀵圭幇浠g埍鎯呭叧涓绉嶆柊鐨勫畾涔夈傚湪鐖辨儏涓,鏈夎繘鏈夐銆...
  • c鏄粈涔堣溅鏍
    绛旓細琛屾斂绾у埆鐨勮娇杞C杞︼紝鎴栫О涓 Execuive锛屼篃灏辨槸琛屾斂绾у埆鐨勮娇杞︼紝鎺掗噺涓鑸槸2.4鍒3.2鍗囷紝杩欎釜绾ц溅鐨勬帓姘旈噺鍙珮鍙綆銆傞氬父鏈 A銆 B銆 C銆 D绛夌骇杞︼紝鍚勫浗鏍囧噯涓嶅悓锛屾垜鍥芥洿娌℃湁缁熶竴鐨勬爣鍑嗭紝鍥犱负寰峰浗姹借溅棣栧厛涓庢垜鍥藉悎璧勫苟鍗犻浜嗕竴瀹氬競鍦猴紝鍥犳寰峰浗姹借溅澶氶噰鐢ㄥ痉鍥藉垎绾ф硶锛氭牴鎹痉鍥芥苯杞﹀垎绾ф爣鍑嗭紝A0銆丄00绾...
  • C璇█鍜孋++鏈変粈涔堝尯鍒?
    绛旓細涓銆佷富浣撲笉鍚 1銆C璇█锛氭槸涓闂ㄩ潰鍚戣繃绋嬬殑銆佹娊璞″寲鐨勯氱敤绋嬪簭璁捐璇█锛屽箍娉涘簲鐢ㄤ簬搴曞眰寮鍙戙2銆丆++锛氭槸C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐銆備簩銆佷紭鍔夸笉鍚 1銆丆璇█锛氳兘浠ョ畝鏄撶殑鏂瑰紡缂栬瘧銆佸鐞嗕綆绾у瓨鍌ㄥ櫒銆侰璇█鏄粎浜х敓灏戦噺鐨勬満鍣...
  • c鐨勫叕寮忔槸浠涔?
    绛旓細m>n銆傛帓鍒楃粍鍚c鐨勫叕寮忥細C(n,m)=A(n,m)/m!=n!/m!(n-m)!涓嶤(n,m)=C(n,n-m)銆(n涓轰笅鏍,m涓轰笂鏍)銆備緥濡侰(4,2)=4!/(2!*2!)=4*3/(2*1)=6,C(5,2)=C(5,3)銆傛帓鍒楃粍鍚坈璁$畻鏂规硶锛欳鏄粠鍑犱釜涓夊彇鍑烘潵锛屼笉鎺掑垪锛屽彧缁勫悎銆侰(n锛宮)=n*(n-1)*...*(n-m+1)/m...
  • 扩展阅读:c++和python先学哪个 ... c#主要做什么 ... 学c#有前途吗 ... 音高c#6算高吗 ... 延时c# ... 女生highc是c5还是c6 ... c#比较三个数从大到小 ... c#面试题 ... 50个常用快捷键大全 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网