このエントリーをはてなブックマークに追加


時間(日数+時間)を格納することができるTimeSpan構造体

Dateの変数に対して、指定した日数+時間を加算したり、減算したりしたい場合は、
TimeSpan構造体が便利です。

参考サイト

TimeSpan構造体を使ったサンプルコード

以下にTimeSpan構造体を使った、C#、Visual Basic(VB)のサンプルコードを記します。
コンソールアプリケーションとして作成し、動作確認をしました。
動作内容は以下の通りです。

  • DateTimeオブジェクトに対し、TimeSpanに設定した(日+時間)を引き算し結果を表示します。
  • DateTimeオブジェクト同士で引き算をし、差分(日)をTimeSpanに格納し結果を表示します。

C# サンプルコード

C#でTimeSpanを利用したサンプルコードになります。

using System;

namespace TimeSpanCS
{
    class Program
    {
        static void Main(string[] args)
        {
            // 指定した日付から指定した日+時間を減算する
            DateTime dt = new DateTime(2019, 12, 1, 0, 0, 0);   // 2019/12/01 00:00:00
            TimeSpan ts1 = new TimeSpan(25, 1, 2);  // 25時間2分3秒
            Console.WriteLine(dt.ToString() + " - " + ts1.ToString() + " = " + (dt-ts1));

            // TimeSpanに経過日数を格納する
            DateTime sdt = new DateTime(2019, 12, 1);   // 2019/12/01
            DateTime edt = new DateTime(2019, 11, 10);   // 2019/11/10
            TimeSpan ts2 = sdt - edt;
            Console.WriteLine(edt.ToString() + " - " + sdt.ToString() + " = " + ts2.Days);
        }
    }
}

Visual Basic サンプルコード

Visual Basic(VB)でTimeSpanを利用したサンプルコードになります。

Imports System

Module Program
    Sub Main(args As String())
        '指定した日付から指定した日+時間を減算する
        Dim dt As DateTime = New DateTime(2019, 12, 1, 0, 0, 0) '2019/12/01 00: 00:00
        Dim ts1 As TimeSpan = New TimeSpan(25, 1, 2)            '25時間2分3秒
        Console.WriteLine(dt.ToString() & " - " & ts1.ToString() & " = " & (dt - ts1))

        'TimeSpanに経過日数を格納する
        Dim sdt As DateTime = New DateTime(2019, 12, 1)     '2019/12/01
        Dim edt As DateTime = New DateTime(2019, 11, 10)    '2019/11/10
        Dim ts2 As TimeSpan = sdt - edt
        Console.WriteLine(edt.ToString() & " - " & sdt.ToString() & " = " & ts2.Days)
    End Sub
End Module

動作結果

上記のC#, VBのサンプルコードの実行結果になります。

2019/12/01 0:00:00 - 1.01:01:02 = 2019/11/29 22:58:58
2019/11/10 0:00:00 - 2019/12/01 0:00:00 = 21
01.png

以上、C#, Visual Basic(VB)でTimeSpan構造体を使ったサンプルコードの紹介でした。


添付ファイル: fileProgram.vb 34件 [詳細] fileProgram.cs 78件 [詳細] file01.png 107件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-01 (日) 22:05:28