Different length of month? Which month should it take? the time span is not bound to a certain year or month in the year. You can only count the days between two dates:
Timspan span = date2 - date1;
Console.Writeline("Days between date1 and date2: {0}", span.Days);
Counting from DateTime.MinValue just take the year 0001 as start and counts the months from January. I don't think that this is of practical use.
EDIT:
Had another idea. You can count the month since date1:
// primitive, inelegant, but should work if date1 < date2
int years = date2.Year - date1.Year;
int month = date2.Month - date1.Month;
if (month < 0)
{
years -= 1;
month += 12;
}
Console.Writeline("{0}Y {1}M", years, month);
The problem here is that you just ignore the days. After all it's not a good solution.