VB.NET:日付の計算方法について

Accessなどでは、日付の計算が単純(いい加減)で、例えば明日の日付を取得したければ、Date() + 1 でいいんだけど、VB.NETでは同じようにすると型が違うから無理!って起こられてしまう。

VB.NETでは、日付の加減は、AddDaysを使う。

以下具体的な例を記述。

スポンサーリンク

AddDaysの使い方

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)  

参考資料

@ITの以下の記事が参考になる。

週の始まりの日付を求めるには? - @IT

コメント

タイトルとURLをコピーしました