2011年12月6日 星期二

[ASP.NET] 日期與時間的運算

轉載自  http://www.dotblogs.com.tw/regionbbs/archive/2008/10/09/5636.aspx
by 小朱大大


好像不少人都不知道時間是可以相減的,而且不會太難,DateTime 有覆寫 "-" 這個運算子,所以只要 DateTime2 - DateTime1,或是 DateTime - TimeSpan 都可,不過它傳回來的是一個 TimeSpan (時間幅度) 的物件,可以由這個物件中的方法來取得兩個時間的差異。
TimeSpan ts = DateTime.Now - startDate;
Console.WriteLine(ts.Seconds); // 取得兩個時間相差幾秒。
另一個運算的方法是,兩個時間是否可以相加?答案是可以的,DateTime 也有覆寫 "+" 這個運算子,不過它要求 "+" 右邊的物件必須是一個 TimeSpan 物件,這樣的想法也沒錯,因為如果是兩個 DateTime 相加,那要根據什麼來加呢?
不過以加減日期時間運算來說,最常用的還是下列幾個方法:
  • DateTime.AddYears()
  • DateTime.AddMonths()
  • DateTime.AddDays()
  • DateTime.AddHours()
  • DateTime.AddMinutes()
  • DateTime.AddSeconds()
  • DateTime.AddTicks() // 刻度,單位為 100 亳微秒
  • DateTime.AddMilliseconds() // 加亳秒 (ms)
這些方法都可以支援正負數 (正數為加,負數為減),並且部份方法的資料型別是 double,也就是你可以浮點數格式。

沒有留言:

張貼留言