VB.NETの日時を計算するサンプルです。加算と減算を行います。
目次
サンプル | 日時を計算するサンプル |
TimeSpanで日時を計算するサンプル |
日時を計算するサンプル
日時を計算するサンプルです。
Module Module1
Sub Main()
Dim dt1 As New DateTime(2020, 2, 10, 22, 30, 10)'2020/2/10 22:30:10
' 3年後を求める
Console.WriteLine(dt1.AddYears(3)) ' 2023/02/10 22:30:10
' 3ヶ月後を求める
Console.WriteLine(dt1.AddMonths(3)) ' 2020/05/10 22:30:10
' 3日前を求める
Console.WriteLine(dt1.AddDays(-3)) ' 2020/02/07 22:30:10
' 3時間後を求める
Console.WriteLine(dt1.AddHours(3)) ' 2020/02/11 1:30:10
' 3分後を求める
Console.WriteLine(dt1.AddMinutes(3)) ' 2020/02/10 22:33:10
' 3秒後を求める
Console.WriteLine(dt1.AddSeconds(3)) ' 2020/02/10 22:30:13
End Sub
End Module
3行目は、指定日時をセットしDateTimeのインスタンスを生成しています。
6行目から日時の計算をしています。
年月日時分秒とそれぞれメソッドがあります。
引数にプラスの値を指定すると加算します。
減算する場合は、12行目のように引数にマイナス値を指定します。
以下は、MicrosoftのAddYearsメソッドのリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.datetime.addyears?view=netframework-4.8
TimeSpanで日時を計算するサンプル
TimeSpanで日時を計算するサンプルです。
Module Module1
Sub Main()
' 指定日時をセット 2020/2/10 22:30:10
Dim dt1 As New DateTime(2020, 2, 10, 22, 30, 10)
' 5日と30分をセット
Dim ts1 As New TimeSpan(5, 0, 30, 0)
' 足し算
Console.WriteLine(dt1 + ts1) ' 2020/02/15 23:00:10
'引き算
Console.WriteLine(dt1 - ts1) ' 2020/02/05 22:00:10
End Sub
End Module
4行目は、指定日時をセットしてインスタンスを生成しています。
7行目は、TimeSpan構造体です。1つめの引数は日数で以降は時間、分、秒です。
例では、5日と30分を指定しています。
10行目は、足し算をして日時を求めています。
13行目は、引き算をして日時を求めています。
以下は、MicrosoftのTimeSpan構造体のリンクです。
https://docs.microsoft.com/ja-jp/dotnet/api/system.timespan?view=netframework-4.8
関連の記事