Страницы

Поиск по вопросам

понедельник, 23 декабря 2019 г.

Дни недели в C#

#c_sharp


Как зная сегодняшнюю дату, узнать даты всех дней этой недели в c#? Также требуется
получить даты всех дней месяца.
    


Ответы

Ответ 1



DateTime today = DateTime.Today; //Высчитываем начало недели var weekStart = today.AddDays(-(int)today.DayOfWeek + 1); //Высчитываем начало месяца var monthStart = today.AddDays(-today.Day + 1); var week = Enumerable.Range(0, 7).Select(count => weekStart.AddDays(count)).ToList(); var month = Enumerable.Range(0, DateTime.DaysInMonth(today.Year, today.Month)) .Select(count => monthStart.AddDays(count)).ToList(); В случае использования разных культур замените расчет начала недели на такой var cultureStart = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek; var weekStart = today; while (weekStart.DayOfWeek != cultureStart) weekStart = weekStart.AddDays(-1);

Комментариев нет:

Отправить комментарий