VB.NET 日時を計算するサンプル(加算と減算)

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

関連の記事

VB.NET 現在日時の取得と表示形式のサンプル

△上に戻る