я следующий фрагмент кода, который я использую, чтобы получить отдельные даты между двумя датами:Создать массив месяцев между двумя датами
DateTime[] output = Enumerable.Range(0, 1 + endDate.Subtract(startDate).Days)
.Select(offset => startDate.AddDays(offset))
.ToArray();
Однако в следующем разделе
endDate.Subtract(startDate).Days
не имеет .Months, чтобы вернуть месяцы в диапазоне дат.
Например, если я даю 1/1/2010 и 6/1/2010, я ожидаю, что вернусь 01.01.2010, 02.02.2010, 01.03.2010, 4/1/2010, 5/1/2010 и 6/1/2010.
Любые идеи?
Как будет работать «Месяц»? Как он узнает, какой месяц месяца использовать? После вычитания вы просто остаетесь с TimeSpan, который нейтрален по дате и, следовательно, ничего не знает о том, какие месяцы использовать. –
Возможный дубликат [Разница в месяцах] (http: // stackoverflow.com/questions/1525990/разница в месяцах) –
'.Days' возвращает ** количество дней ** в интервале, а не фактические дни. Как вы определяете, что «* месяц между двумя датами»? В этом месяце месяц ** не менее 1 дня **? В течение месяца ** ** в промежутке? Также как вам нужно представлять месяц, используя структуру 'DateTime'? - как 1-го числа месяца? – CyberDude