friendof2005 Ответов: 1

Получите все 30 дней с этого момента в .NET


Я пытаюсь заполнить 30 дней с этого момента, используя Enumerable.Диапазон(1,31)

но мы знаем, что некоторые месяцы имеют 30 дней, а некоторые-28 дней.
поэтому я добавил условие, но оно не работает хорошо.

есть ли какой-нибудь другой способ, которым я могу это сделать?

Я хочу получить коллекцию через 30 дней. предположим, сегодня 15 января, поэтому я хочу, чтобы все даты были с 15 января по 14 февраля (через 30 дней, независимо от месяца или дня).
в настоящее время я использую это ниже: но это не правильно.

Что я уже пробовал:

Enumerable.Range(1, 31).Select(day =>
            {
                var date = new DateTime();                
                if (day <= 28)
                {
                    date = new DateTime(DateTime.Now.Year, DateTime.Now.Month, day);
                    date = date.BeginningOfDay();
                }
                else
                {
                    count++;
                    date = new DateTime(DateTime.Now.Year, DateTime.Now.AddMonths(1).Month, count);
                }
                if (date < DateTime.Now.BeginningOfDay()) date = date.AddMonths(1);

                return date;

            }).OrderBy(d => d.Date).ToList();

1 Ответов

Рейтинг:
8

F-ES Sitecore

Enumerable.Range(1, 31).Select(day =>
                DateTime.Now.AddDays(day)).ToList();


CPallini

Аккуратный.

Maciej Los

5ed!