Учитывая список случайных дат, существует ли элегантный способ C # (LINQ или иным образом) для извлечения последней даты в списке, сгруппированной по неделям, месяцам, кварталам или годам?
Надеюсь, это понятно, но если нет, то используйте этот пример набора дат:
- Пн 01/01/2018
- Вт 02/01/2018
- Чт 04/01/2018
- вт 09.01.01 2018
- чт 11/01/2018
- Пт. 12/01/2018
- Пн 22/01/2018
- Вт 23.01.01 2018
- Ср 24/01/2018
- ср. 31.01 2018
- Чт 01/02/2018
- вт. 27/02/2018
Извлечение максимума за неделю даст
- Чт 04/01/2018 = последняя дата первой недели в выборке
- Пт. 12/01/2018 = последняя дата второй недели в выборке
- Ср 24/01/2018 = и т. Д.
- чт 01/02/2018
- Вт 27/02/2018
А извлечение максимума по месяцам даст
- ср. 31/01/2018 = последняя дата января в выборке
- вт 27/02/2018 = последняя дата февраля в выборке
Мне нужно сделать это извлечение по номеру недели, календарному месяцу, календарному кварталу и календарному году.
Я даже не уверен, с чего начать. Так что в настоящее время у меня нет кода, которым можно поделиться.
Любые идеи будут очень кстати.
РАЗЪЯСНЕНИЕ: названия дней недели включены сюда для пользы нас, людей. Моя фактическая дата - правильные DateTime
типы. Таким образом, коду не нужно анализировать строки в DateTimes.
Кроме того, я могу легко написать что-то подобное без LINQ. Но я надеюсь, что это элегантное решение с использованием LINQ или другого хитрого трюка.