Accessなどでは、日付の計算が単純(いい加減)で、例えば明日の日付を取得したければ、
Date() + 1
でいいんだけど、VB.NETでは同じようにすると型が違うから無理!って起こられてしまう。
VB.NETでは、日付の加減は、AddDaysを使う。
以下具体的な例を記述。
スポンサードリンク


日付型の値.AddDays(X)
日付型の値は、DateTimePickerコントロールのValueを指定
DateTimePickerコントロール.Value.AddDays(1)
とか、単純に変数.AddDays(X)でよい。

Xは、加減する数値を指定する。つまり、明日だったら1、昨日だったら-1を指定すればよい。
明日 = Today.AddDays(1)
昨日 = Today.AddDays(-1)

その他色々な日付を求める例。
今週の開始日(日曜日が週初めの場合)
Today.AddDays(DayOfWeek.Sunday - Today.DayOfWeek)
今週の終了日(開始日に6加算すればよい)
(Today.AddDays(DayOfWeek.Sunday - Today.DayOfWeek)).AddDays(6)

今月開始日
DateAndTime.DateSerial(Today.Year, Today.Month, 1)
今月の終了日
Me.dtpEndDate.Value = DateAndTime.DateSerial(Today.Year, Today.Month + 1, 0)

先週の開始日
Today.AddDays(DayOfWeek.Sunday - Today.DayOfWeek - 7)
先週の終了日(今週の開始日から1日引けばよい)
Today.AddDays(DayOfWeek.Sunday - Today.DayOfWeek-1)

先月の1日の日付
DateAndTime.DateSerial(Today.Year, Today.Month - 1, 1)
先月末日付
DateAndTime.DateSerial(Today.Year, Today.Month, 0)

参考資料
MSKB
このKBの式をVB.NET用に書き換えればよい。
http://support.microsoft.com/kb/88657/ja
@IT
http://www.atmarkit.co.jp/fdotnet/dotnettips/369firstday/firstday.html
スポンサードリンク

  

関連記事

 カテゴリ
 タグ