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。計算兩個時間差值的函數,返回時間差的絕對值: 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。實現計算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; } 說明: 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值表示的秒數。 ====================================================<BR>int jg=72;//設置一個增長的時間 DateTime dt=Convert.ToDateTime("2006-4-23 12:22:05");// 設置一個初始化的時間 DateTime newdt=dt.AddHours(jg);//初始化時間加上增長的時間 DateTime nowt=DateTime.Now;//如今的時間 Response.Write("如今時間是:"+nowt+"<br>"); Response.Write("數據庫時間是:"+dt+"<br>"); Response.Write("新的時間是:"+newdt+"<br>"); if(newdt<nowt)//若是相加後的時間大於如今的時間 { Response.Write("能夠"); } else//不然 { Response.Write("不行"); } ====================================================== // 獲得某年某月的天數 public static int GetDaysInMonth(int rYear,int rMonth) { DateTime dt1 = DateTime.Parse(rYear+"-"+rMonth+"-01"); DateTime dt2 = dt1.AddMonths(1); TimeSpan ts = dt2-dt1; return (int)ts.TotalDays; } //獲得星期Text public static string GetDayOfWeekHtml(int rDayOfWeek) { switch(rDayOfWeek) { case (int)DayOfWeek.Sunday: return "<font color=\"#ff0000\">星期日</font>"; case (int)DayOfWeek.Monday: return "<font color=\"#000000\">星期一</font>"; case (int)DayOfWeek.Tuesday: return "<font color=\"#000000\">星期二</font>"; case (int)DayOfWeek.Wednesday: return "<font color=\"#000000\">星期三</font>"; case (int)DayOfWeek.Thursday: return "<font color=\"#000000\">星期四</font>"; case (int)DayOfWeek.Friday: return "<font color=\"#000000\">星期五</font>"; case (int)DayOfWeek.Saturday: return "<font color=\"#008800\">星期六</font>"; default: return ""; } } // 獲得某年某月的起止日期,格式爲0000-00-00 public static string[] GetBeginEndDate(int rYear,int rMonth) { string[] arr = new string[2]; DateTime dt1 = DateTime.Parse(rYear+"-"+rMonth+"-01"); arr[0] = dt1.ToLongDateString(); DateTime dt2 = dt1.AddMonths(1).AddDays(-1); arr[1] = dt2.ToLongDateString(); return arr; } ========================== 在ASP中日期比較使用:DateDiff( "d", "2006-1-30", now )>0;在C#中使用:TimeSpan 代碼以下: using System; using System.Collections; public class DatediffClass { public static void Main() { DateTime dt1 = DateTime.Parse("2006-04-01"); DateTime dt2 = DateTime.Parse("2006-05-01"); TimeSpan ts = dt2.Subtract(dt1); Console.WriteLine(ts.TotalDays); Console.ReadLine(); } } 若是是比較大小:DateTime.Compare(t1, t2) > 0 =================================== 1、DateTime 數字型 System.DateTime currentTime=new System.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.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToString("f4"); //生成 12345.0000 12345.ToString("x"); //生成 3039 (16進制) 12345.ToString("p"); //生成 1,234,500.00% 4、變量.Length 數字型 取字串長度: 如: string str="中國"; int Len = str.Length ; //Len是自定義變量, str是求測的字串的變量名 5、System.Text.Encoding.Default.GetBytes(變量) 字碼轉換 轉爲比特碼 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 而後可獲得比特長度: len = bytStr.Length; 6、System.Text.StringBuilder("") 字符串相加,(+號是否是也同樣?) 如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append("中華"); sb.Append("人民"); sb.Append("共和國"); 7、變量.Substring(參數1,參數2); 截取字串的一部分,參數1爲左起始位數,參數2爲截取幾位。 如:string s1 = str.Substring(0,2); 8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 取遠程用戶IP地址 9、穿過代理服務器取遠程用戶真實IP地址: if(Request.ServerVariables["HTTP_VIA"]!=null){ string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); }else{ string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); } 10、 Session["變量"]; 存取Session值; 如,賦值: Session["username"]="小布什"; 取值: Object objName=Session["username"]; String strName=objName.ToString(); 清空: Session.RemoveAll(); 11、String str=Request.QueryString["變量"]; 用超連接傳送變量。 如在任一頁中建超連接:<a href=Edit.aspx?fbid=23>點擊</a> 在Edit.aspx頁中取值:String str=Request.QueryString["fdid"]; 12、DOC對象.CreateElement("新建節點名"); 建立XML文檔新節點 13、父節點.AppendChild(子節點); 將新建的子節點加到XML文檔父節點下 14、 父節點.RemoveChild(節點); 刪除節點 15、Response Response.Write("字串"); Response.Write(變量); 向頁面輸出。 Response.Redirect("URL地址"); 跳轉到URL指定的頁面 16、char.IsWhiteSpce(字串變量,位數)——邏輯型 查指定位置是否空字符; 如: string str="中國 人民"; Response.Write(char.IsWhiteSpace(str,2)); //結果爲:True, 第一個字符是0位,2是第三個字符。 17、char.IsPunctuation('字符') --邏輯型 查字符是不是標點符號 如:Response.Write(char.IsPunctuation('A')); //返回:False 18、(int)'字符' 把字符轉爲數字,查代碼點,注意是單引號。 如: Response.Write((int)'中'); //結果爲中字的代碼:20013 19、(char)代碼 把數字轉爲字符,查代碼表明的字符。 如: