1. ホーム
  2. vb.net

[解決済み] vb.netで2つのタイムスパン間の時差を取得する

2022-02-16 01:08:13

質問

私は2つの変数を持っています。

Dim starttime As TimeSpan
Dim endtime As TimeSpan

私の開始時刻の値は : 02:30:00 (午前2時30分) です。
2.30AMは翌日

終了時刻の値は : 10:30:00 (午前10時30分の意味です)

これらの時間差を取得したいのです。そこで、このようなコードにしました。

Dim span3 As TimeSpan = starttime .Subtract(endtime ) 

現在、span3 : 08:00:00 が表示されています。

これは間違った答えです。本当は16:00:00を取得したいのです。(これは午前2時30分から午前10時30分までの正確な差です)

どうすれば計算できますか?

解決方法は?

開始時刻と終了時刻を保持するために、DateTime変数を使用する必要があります。 このように。

Dim startTime As New DateTime(2013, 9, 19, 10, 30, 0)     ' 10:30 AM today
Dim endTime As New DateTime(2013, 9, 20, 2, 0, 0)     ' 2:00 AM tomorrow

Dim duration As TimeSpan = endTime - startTime        'Subtract start time from end time

Console.WriteLine(duration)

結果

15:30:00

UPDATE

その結果を分単位に変換するには、TimeSpan変数のTotalMinutesプロパティを使用します。

Console.WriteLine(duration.TotalMinutes)

結果

930