C#實現(xiàn)兩個日期比較大小
C# 兩個日期比較大小
直接比較大小
string ed = "2023-12-13 09:27:59.000";//過去式 DateTime nowDateTime = DateTime.Now; DateTime expirationDate = Convert.ToDateTime(ed);//質保期 長日期 DateTime expirationDate1 = Convert.ToDateTime(Convert.ToDateTime(ed).ToString("yyyy-MM-dd"));//質保期 短日期 DateTime now = Convert.ToDateTime(nowDateTime.ToString("yyyy-MM-dd")); if (expirationDate1 < now)//短日期比較 { textBox2.Text = "短日期比較,過保了"; } if (expirationDate < nowDateTime)//長日期比較 { textBox3.Text = "長日期比較,過保了"; }
工具類DateTime.Compare
格式:
int ints= DateTime.Compare(日期1, 日期2);
如果日期1=日期2,返回0;
如果日期1>日期2,返回1;
如果日期1<日期2,返回0;
string ed = "2023-12-13 09:27:59.000";//過去式 DateTime nowDateTime = DateTime.Now; DateTime expirationDate = Convert.ToDateTime(ed);//質保期 長日期 DateTime expirationDate1 = Convert.ToDateTime(Convert.ToDateTime(ed).ToString("yyyy-MM-dd"));//質保期 短日期 DateTime now = Convert.ToDateTime(nowDateTime.ToString("yyyy-MM-dd")); int ints= DateTime.Compare(expirationDate1, now);//短日期比較 int intl = DateTime.Compare(expirationDate, nowDateTime);//長日期比較
當調用compare方法比較兩個時間大小時,傳入的兩個時間參數(shù)除了必屬同一時區(qū)之外,還必須屬于同一個精度范圍。對兩個 DateTime 的實例進行比較,并返回一個指示第一個實例是早于、等于還是晚于第二個實例的整數(shù)。
方法補充
下面小編為大家整理了C#中實現(xiàn)日期比較的其他方法,希望對大家有所幫助
方法一
public class TestController : Controller { // GET: Test public ActionResult Index() { //t1< t2 string msg1 = string.Empty; string date1 = "2018-07-25"; string date2 = "2018-07-27"; CompanyDate(date1,date2,ref msg1); //t1> t2 string msg2 = string.Empty; string date3 = "2018-07-27"; string date4 = "2018-07-25"; CompanyDate(date3, date4, ref msg2); return View(); } /// <summary> /// 比較兩個日期大小 /// </summary> /// <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 + ")"; } } }
方法二
DateTime t1 = new DateTime(100); DateTime t2 = new DateTime(20); if (DateTime.Compare(t1, t2) > 0) Console.WriteLine("t1 > t2"); if (DateTime.Compare(t1, t2) == 0) Console.WriteLine("t1 == t2"); if (DateTime.Compare(t1, t2) < 0) Console.WriteLine("t1 < t2"); //1。比較時間大小的實驗 string st1="12:13"; string st2="14:14"; DateTime dt1=Convert.ToDateTime(st1); DateTime dt2=Convert.ToDateTime(st2); DateTime dt3=DateTime.Now; if(DateTime.Compare(dt1,dt2)>0) msg.Text=st1+">"+st2; else msg.Text=st1+"<"+st2; msg.Text+="\r\n"+dt1.ToString(); if(DateTime.Compare(dt1,dt3)>0) msg.Text+="\r\n"+st1+">"+dt3.ToString(); else msg.Text+="\r\n"+st1+"<"+dt3.ToString(); //2。計算兩個時間差值的函數(shù),返回時間差的絕對值: private string DateDiff(DateTime DateTime1,DateTime DateTime2) { string dateDiff=null; try { 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()+"秒"; } catch { } return dateDiff; } //3。實現(xiàn)計算DateTime1-36天=DateTime2的功能 TimeSpan ts=new TimeSpan(40,0,0,0); DateTime dt2=DateTime.Now.Subtract(ts); msg.Text=DateTime.Now.ToString()+"-"+ts.Days.ToString()+"天\r\n"; msg.Text+=dt2.ToString(); 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 /// <summary> /// 計算兩個日期的時間間隔 /// </summary> /// <param name="DateTime1">第一個日期和時間</param> /// <param name="DateTime2">第二個日期和時間</param> /// <returns></returns> 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#實現(xiàn)兩個日期比較大小的文章就介紹到這了,更多相關C#日期比較內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
C#/VB.NET 在PDF中添加文件包(Portfolio)的方法
這篇文章主要介紹了C#/VB.NET 在PDF中添加文件包(Portfolio)的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2020-06-06C#中緊耦合Tight Coupling和松耦合Loose Coupling的實現(xiàn)
緊耦合和松耦合是描述模塊或組件之間耦合程度的兩個概念,本文主要介紹了C#中緊耦合Tight Coupling和松耦合Loose Coupling的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-01-01