2012年12月3日月曜日

[.net]時間計算の方法

.netで時間の加算、減算をする方法としては
  • DateTimeオブジェクトのAddメソッドを利用する
  • DateTimeオブジェクトのTicksプロパティとTimeSpan.TicksPerフィールドを使用する
例:DateTimeオブジェクトのAddメソッドを利用して時間を加算する。
 DateTime.Now.AddYears(1)        '1年を加算する
 DateTime.Now.AddMonth(1)        '1月を加算する
 DateTime.Now.AddDays(1)            '1日を加算する
 DateTime.Now.AddHours(1)        '1時間を加算する
 DateTime.Now.AddMinutes(1)        '1分を加算する
 DateTime.Now.AddSeconds(1)        '1秒を加算する
 DateTime.Now.AddMillSeconds(1)    '1ミリ秒を加算する

例:DateTimeオブジェクトのTicksプロパティとTimeSpan.TickPerフィールドを利用して時間を加算する。
 DateTime.Now.Ticks + (1 * TimeSpan.TicksPerDay)            '1日を加算する
 DateTime.Now.Ticks + (1 * TimeSpan.TicksPerHour)        '1時間を加算する
 DateTime.Now.Ticks + (1 * TimeSpan.TicksPerMinute)        '1分を加算する
 DateTime.Now.Ticks + (1 * TimeSpan.TicksPerSecond)        '1秒を加算する
 DateTime.Now.Ticks + (1 * TimeSpan.TicksPerMillSecond)    '1ミリ秒を加算する

また、Ticksプロパティを使うと、四則演算で時間計算が出来る。

例:Tikcsプロパティを使い、今の時間と、今の時間に1時間加算した差を出す。
 Dim DateTime1 As DateTime = DateTime.Now    '今の時間
 Dim DateTime2 As DateTime = New DateTime(DateTime1.Ticks + (1 * TimeSpan.TicksPerHour))    '今の時間+1時間
 DateTime2.Ticks - DateTime1.Ticks = 36,000,000,000
時間の差を求めるなら、Substractを利用しても算出が可能になる。

例:Substractを利用して、今の時間と、今の時間に1時間加算した差を出す。
 Dim DateTime1 As DateTime = DateTime.Now            '今の時間
 Dim DateTime2 As DateTime = DateTime1.AddHours(1)    '今の時間に1時間加算
 DateTime2.Substract(DateTime1).Tikcs = 36,000,000,000

0 件のコメント:

コメントを投稿