1.現在的日期、時間 DateTime
- 在C#中可以透過DateTime物件的Now及Today屬性回傳
protected void Page_Load(object sender, EventArgs e) { Response.Write(DateTime.Now); Response.Write(DateTime.Today); }結果:
2014/1/7 上午 01:37:37
2014/1/7 上午 12:00:00
2.傳回年、月、日、時、分、秒
- 在C#中設定一個DateTime變數內容可以將年、月、日、時、分、秒當作參數帶入設定
- .NET也將所有的日期時間視為物件,年、月、日、時、分、秒則是日期本身的一部分,因此只要用Year , Month , Day , Hour , Minute , Second屬性,便可知道日期時間的年、月、日、時、分、秒
protected void Page_Load(object sender, EventArgs e) { DateTime dt = new DateTime(2008,1,1,18,30,30); Response.Write(dt.Year + " ; "); Response.Write(dt.Month + " ; "); Response.Write(dt.Day + " ; "); Response.Write(dt.Hour + " ; "); Response.Write(dt.Minute + " ; "); Response.Write(dt.Second + " ; "); }結果:
2008 ; 1 ; 1 ; 18 ; 30 ; 30 ;
3.今天星期幾? DayOfWeek
- 檢查日期時間的DayOfWeek屬性可以告訴你今天星期幾:
public partial class Training1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(DateTime.Now.DayOfWeek); } }結果:
Wednesday
- Response.Write(DateTime.Now.DayOfWeek.GetHashCode());則是回傳數字,星期二就是2,星期日則是0
4.判斷是否為日期時間? DateTime.TryParse
- DateIme的TryParse()方法可以協助判斷資料是否為正確的日期格式及可能的日期。也可以檢查時間,使用DateTime的TryParse()方法第一個參數傳入預判斷的日期時間,第二個參數一個日期物件,已取得判斷所得結果。
protected void Page_Load(object sender, EventArgs e) { DateTime dt; Response.Write(DateTime.TryParse("mar 12,2008", out dt)+" , "+dt); }結果:
True , 2008/3/12 上午 12:00:00
5.日期時間的格式化?
- 對一個日期時間直接呼叫其ToString()方法會顯示完整的日期時間:
Response.Write(DateTime.Now.ToString()); - 若只想取出日期貨時間的部分,並且以簡短或完整的日期時間格式顯示,則可在呼叫ToString()方法時,指定預先定義的日期與時間隔式名稱:
public partial class Training1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(DateTime.Now.ToString("d")+" , "); Response.Write(DateTime.Now.ToString("D") + " , "); Response.Write(DateTime.Now.ToString("t") + " , "); Response.Write(DateTime.Now.ToString("T") + " , "); } }結果:
2014/1/9 , 2014年1月9日 , 下午 11:15 , 下午 11:15:20 ,
- Response.Write(DateTime.Now.ToString("yy-MM-dd"));//14-01-09
- 若上一行程式MM改為小寫的mm,此時mm代屌的是分鐘數而非月份
Response.Write(DateTime.Now.ToString("yy-mm-dd"));//14-55-09 //14年55分09日 - 若是使用一個格式字元,像是h,m,s,y,d,M必須在字元前面加上%
Response.Write(DateTime.Now.ToString("%h"));//11 //假設現在11點 - 單獨自元要在前面加上%字元的真正原因:與.NET預先定義的日期時間格式名稱有所區別
Response.Write(DateTime.Now.ToString("%M"));// 1
Response.Write(DateTime.Now.ToString("M"));//1月09日
6.日期時間的加減
- 日期相加可以使用AddDays()、AddMonths()、AddHours()
public partial class Training1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { Response.Write(DateTime.Now.ToString()); Response.Write(" ; "); Response.Write(DateTime.Now.AddDays(5).ToString()); Response.Write(" ; "); Response.Write(DateTime.Now.AddDays(-5).ToString()); } }結果:
2014/1/10 上午 12:14:49 ; 2014/1/15 上午 12:14:49 ; 2014/1/5 上午 12:14:49
- 傳入正數為相加,傳入負數為相減
兩個日期時間的差距 Subtract()、TimeSpan
範例:
public partial class Training1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DateTime dt = new DateTime(2014, 11, 17); TimeSpan ts = dt.Subtract(DateTime.Now); Response.Write("現在距離我生日還有:" + ts.Days.ToString() + "天 ; "); Response.Write("現在距離我生日還有:" + ts.TotalHours.ToString() + "小時 ; "); Response.Write("現在距離我生日還有:" + ts.TotalMinutes.ToString() + "分鐘 ; "); Response.Write("現在距離我生日還有:" + ts.TotalSeconds.ToString() + "秒"); } }結果:
現在距離我生日還有:310天 ; 現在距離我生日還有:7463.53980021022小時 ; 現在距離我生日還有:447812.388012613分鐘 ; 現在距離我生日還有:26868743.2807568秒
沒有留言:
張貼留言