2つのDateTimeの差を求めるには、.Subtract()を使用します。
サンプル
例)2023/1/2 12:00:00 と 2023/1/1 00:30:30 の差を求める
using System;
// DateTimeオブジェクトの生成
DateTime dt1 = new DateTime(2023, 1, 2, 12, 0, 0);
DateTime dt2 = new DateTime(2023, 1, 1, 0, 30, 30);
// 差を求める
TimeSpan sp = dt1.Subtract(dt2);
// 差を要素毎に取得する
int d = sp.Days; //日のみの差分
int h = sp.Hours; //時間のみの差分
int m = sp.Minutes; //分のみの差分
int s = sp.Seconds; //秒のみの差分
double td = sp.TotalDays; //日で表した差分
double th = sp.TotalHours; //時間で表した差分
double tm = sp.TotalMinutes; //分で表した差分
double ts = sp.TotalSeconds; //秒で表した差分
TimeSpanは日付の差を表すオブジェクトです。
結果
d → 1
h → 11
m → 29
s → 30
td → 1.4788194444444445
th → 35.491666666666667
tm → 2129.5
ts → 127770
備考
- Subtractを使うとTimeSpanで日付の差分を取得できます。
- dt2の方が大きい場合の結果は、マイナス値となります。