C#で月の差を簡単に取得する方法のメモ

C#で2つの期間の月の差を求めるのにと簡単な気持ちで調べてみたら意外とめんどくさそうなのばっかり出てきました。

なんでこんなめんどくさいやり方しか出てこないのかと思ったところC#のSystem名前空間には月の差を求めるようなものはないらしい。

VBにはDateDiffがあるのにと思っていたところでふと思いつきました。
Microsoft.VisualBasicっていうコンポーネントを追加すればVBの関数が使えたはず。と思って調べたらありました。以下のようにすれば月の差分を求めることができます。

using Microsoft.VisualBasic;

DateTime from = DateTime.Now;
DateTime to = new DateTime(2000,1,1);

long monthCount = DateAndTime.DateDiff(DateInterval.Month, from, to); 


Microsoft.VisualBasicコンポーネントのDateAndTime.DateDiffを使えば求められます。 Microsoft.VisualBasicコンポーネントを使うには参照の追加の.NETの部分から探して追加してください。
第一引数を変えれば年でも日付でもいけます。
戻り値はlong型なのでその後は煮るなり焼くなり好きにしてやってください。