なお、C#・VB.NETなどオーバーロードされた演算子を使用できる言語では、Substractメソッドを呼び出す代わりに減算演算子を使うことも出来ます。 結果はSubstractメソッドを使う場合と同じです。
減算演算子を使って2つのDateTime/DateTimeOffsetの時間間隔を求める
using System;
class Sample {
static void Main()
{
// DateTime同士の減算
var a = new DateTime(2013, 4, 5, 15, 0, 0);
var b = new DateTime(2013, 4, 3, 8, 30, 0);
Console.WriteLine(a - b); // == a.Subtract(b)
// DateTimeOffset同士の減算
var c = new DateTimeOffset(2013, 4, 5, 15, 0, 0, TimeSpan.Zero);
var d = new DateTimeOffset(2013, 4, 3, 8, 30, 0, TimeSpan.Zero);
Console.WriteLine(c - d); // == c.Subtract(d)
}
}
実行結果
2.06:30:00 2.06:30:00