データ操作

[C#] 2つのDateTimeの差を求める(.Subtract)

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の方が大きい場合の結果は、マイナス値となります。

関連記事

-データ操作
-