var start = new DateTime(2013, 1, 1);
var end = new DateTime(2013, 6, 22);
end = new DateTime(end.Year, end.Month, DateTime.DaysInMonth(end.Year, end.Month));
var diff = Enumerable.Range(0, Int32.MaxValue)
.Select(e => start.AddMonths(e))
.TakeWhile(e => e <= end)
.Select(e => e.ToString("MMMM"));
do you google?[
^]