Как сортировать список по дате?

zhenya777

Client
Регистрация
21.11.2018
Сообщения
236
Благодарностей
44
Баллы
28
Здравствуйте! Есть список с датами в формате
17.03.2019
01.01.2001
13.11.2007
23.08.2020
Как правильно сделать сортировку от старой к новой?
 

Alexmd

Client
Регистрация
10.12.2018
Сообщения
1 021
Благодарностей
1 383
Баллы
113
перевести в unix, отсортировать и перевести обратно
 
  • Спасибо
Реакции: Sergodjan

TwistDanceR

Активный пользователь
Регистрация
30.05.2019
Сообщения
479
Благодарностей
200
Баллы
43
Здравствуйте! Есть список с датами в формате
17.03.2019
01.01.2001
13.11.2007
23.08.2020
Как правильно сделать сортировку от старой к новой?
не стал сокращать.
C#:
var x = project.Lists["Список 1"]; // имя вашего списка

List<DateTime> y = new List<DateTime>();
for(int i=0; i<x.Count;i++) {
    List<string> spl = x[i].Split(new[] {"."},StringSplitOptions.None).ToList();
    y.Add(new DateTime(int.Parse(spl[2]),int.Parse(spl[1]),int.Parse(spl[0])));
}
y.Sort();
for(int i=0; i<x.Count; i++) {
    x[i] = y[i].ToString("dd.MM.yyyy");   
}
 

Moadip

Client
Регистрация
26.09.2015
Сообщения
509
Благодарностей
823
Баллы
93
А если по красоте, то юзать LINQ.:-)
C#:
var x = project.Lists["Список 1"]; // имя вашего списка

var list = x
    .Select(s => DateTime.ParseExact(s, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture))
    .OrderBy(d => d)
    .Select(d => d.ToString("dd.MM.yyyy"))
    .ToList();

x.Clear();
x.AddRange(list);
 

zhenya777

Client
Регистрация
21.11.2018
Сообщения
236
Благодарностей
44
Баллы
28
не стал сокращать.
C#:
var x = project.Lists["Список 1"]; // имя вашего списка

List<DateTime> y = new List<DateTime>();
for(int i=0; i<x.Count;i++) {
    List<string> spl = x[i].Split(new[] {"."},StringSplitOptions.None).ToList();
    y.Add(new DateTime(int.Parse(spl[2]),int.Parse(spl[1]),int.Parse(spl[0])));
}
y.Sort();
for(int i=0; i<x.Count; i++) {
    x[i] = y[i].ToString("dd.MM.yyyy");  
}
То, что нужно! Спасибо!
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
Чтобы не плодить новую тему, спрошу тут ибо тут LINQ затрагивается!
Парни подскажите, что может быть не так? Решил немного упростить код, убрать цикл и воспользоваться LINQ!
Но проджектмейкер выдает ошибку! Пол дня думал, что с кодом что-то не так. Проверил в студии, код работает!

2021-01-23_09-29-44.jpg

Библиотеки вроде все на месте, что ему собаке этой надо нифига понять не могу! :bk:
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
Чтобы не плодить новую тему, спрошу тут ибо тут LINQ затрагивается!
Парни подскажите, что может быть не так? Решил немного упростить код, убрать цикл и воспользоваться LINQ!
Но проджектмейкер выдает ошибку! Пол дня думал, что с кодом что-то не так. Проверил в студии, код работает!

Посмотреть вложение 71150

Библиотеки вроде все на месте, что ему собаке этой надо нифига понять не могу! :bk:
ну раз в студии работает, а тут нет, то на ум приходит версия .net, в зенке она 4.6 в последних версиях.
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
попробовал в постере запустить, чуть от страха на стуле не обделался :D

1611387207025.png

Короче жопа подгорает от незнания что делать то!?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
и вообще, мне кажется ты не там методы ищешь :-)
хм, странные странности, попробую разобраться! Меня смущает что в студии все нормально, а зенка не переваривает мою коллекцию! Попробую может куда в список перегнать!
Спасибо за советы!
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
хм, странные странности, попробую разобраться! Меня смущает что в студии все нормально, а зенка не переваривает мою коллекцию! Попробую может куда в список перегнать!
Спасибо за советы!
почему странно ? в студии какое окружение настроено ? как в зенке ? или может под .net 5 :-)
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
почему странно ? в студии какое окружение настроено ? как в зенке ? или может под .net 5 :-)
к своему стыду я без понятия как посмотреть окружение в зеннопостере, но в студии где работает стоит по умолчанию 3.1

1611389841973.png

P.S хотя там netCore, это видимо поновее
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
к своему стыду я без понятия как посмотреть окружение в зеннопостере, но в студии где работает стоит по умолчанию 3.1

Посмотреть вложение 71155

P.S хотя там netCore, это видимо поновее
стыдится тут нечего, окружение разработчики задают :-) мы можем только своими dll расширять текущий функционал. кстати, может у вас что дополнительно в студии подключено из dll ?
 

p-sergei

Client
Регистрация
20.12.2016
Сообщения
523
Благодарностей
255
Баллы
63
тыдится тут нечего, окружение разработчики задают :-) мы можем только своими dll расширять текущий функционал. кстати, может у вас что дополнительно в студии подключено из dll ?
спасибо, что помог разобраться, если делать проект на NET Framework то и в студии не работает этот метод! На NetCore всё нормально!
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 689
Баллы
113
спасибо, что помог разобраться, если делать проект на NET Framework то и в студии не работает этот метод! На NetCore всё нормально!
ну да... netCore это левал ап для зенки будет :-)
 

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
А если по красоте, то юзать LINQ.:-)
C#:
var x = project.Lists["Список 1"]; // имя вашего списка

var list = x
    .Select(s => DateTime.ParseExact(s, "dd.MM.yyyy", System.Globalization.CultureInfo.InvariantCulture))
    .OrderBy(d => d)
    .Select(d => d.ToString("dd.MM.yyyy"))
    .ToList();

x.Clear();
x.AddRange(list);
Партни, помогите, пожалуйста, этот код адаптировать, чтобы сортировать, такой список, "datetime":"21.09.2021",
C#:
{"title":"1 серия","file":"https://www.ntv.ru/video/embed/2057540/?og","descr":"","datetime":"11.11.2021","announce":"no","ostring":""},
{"title":"2 серия","file":"https://www.ntv.ru/video/embed/2057346/?og","descr":"","datetime":"10.11.2021","announce":"no","ostring":""},
{"title":"3 серия","file":"https://www.ntv.ru/video/embed/2057008/?og","descr":"","datetime":"09.11.2021","announce":"no","ostring":""},
{"title":"4 серия","file":"https://www.ntv.ru/video/embed/2056582/?og","descr":"","datetime":"08.11.2021","announce":"no","ostring":""},
{"title":"5 серия","file":"https://www.ntv.ru/video/embed/2055281/?og","descr":"","datetime":"03.11.2021","announce":"no","ostring":""},
{"title":"6 серия","file":"https://www.ntv.ru/video/embed/2055080/?og","descr":"","datetime":"02.11.2021","announce":"no","ostring":""},
{"title":"7 серия","file":"https://www.ntv.ru/video/embed/2054781/?og","descr":"","datetime":"01.11.2021","announce":"no","ostring":""},
{"title":"8 серия","file":"https://www.ntv.ru/video/embed/2053685/?og","descr":"","datetime":"28.10.2021","announce":"no","ostring":""},
{"title":"9 серия","file":"https://www.ntv.ru/video/embed/2053389/?og","descr":"","datetime":"27.10.2021","announce":"no","ostring":""},
{"title":"10 серия","file":"https://www.ntv.ru/video/embed/2053060/?og","descr":"","datetime":"26.10.2021","announce":"no","ostring":""},
{"title":"11 серия","file":"https://www.ntv.ru/video/embed/2052740/?og","descr":"","datetime":"25.10.2021","announce":"no","ostring":""},
{"title":"12 серия","file":"https://www.ntv.ru/video/embed/2051590/?og","descr":"","datetime":"21.10.2021","announce":"no","ostring":""},
{"title":"13 серия","file":"https://www.ntv.ru/video/embed/2051340/?og","descr":"","datetime":"20.10.2021","announce":"no","ostring":""},
{"title":"14 серия","file":"https://www.ntv.ru/video/embed/2051062/?og","descr":"","datetime":"19.10.2021","announce":"no","ostring":""},
{"title":"15 серия","file":"https://www.ntv.ru/video/embed/2050461/?og","descr":"","datetime":"18.10.2021","announce":"no","ostring":""},
{"title":"16 серия","file":"https://www.ntv.ru/video/embed/2049560/?og","descr":"","datetime":"14.10.2021","announce":"no","ostring":""},
{"title":"17 серия","file":"https://www.ntv.ru/video/embed/2049262/?og","descr":"","datetime":"13.10.2021","announce":"no","ostring":""},
{"title":"18 серия","file":"https://www.ntv.ru/video/embed/2049161/?og","descr":"","datetime":"12.10.2021","announce":"no","ostring":""},
{"title":"19 серия","file":"https://www.ntv.ru/video/embed/2048543/?og","descr":"","datetime":"11.10.2021","announce":"no","ostring":""},
{"title":"20 серия","file":"https://www.ntv.ru/video/embed/2047720/?og","descr":"","datetime":"07.10.2021","announce":"no","ostring":""},
{"title":"21 серия","file":"https://www.ntv.ru/video/embed/2047460/?og","descr":"","datetime":"06.10.2021","announce":"no","ostring":""},
{"title":"22 серия","file":"https://www.ntv.ru/video/embed/2047180/?og","descr":"","datetime":"05.10.2021","announce":"no","ostring":""},
{"title":"23 серия","file":"https://www.ntv.ru/video/embed/2046543/?og","descr":"","datetime":"04.10.2021","announce":"no","ostring":""},
{"title":"24 серия","file":"https://www.ntv.ru/video/embed/2045840/?og","descr":"","datetime":"30.09.2021","announce":"no","ostring":""},
{"title":"25 серия","file":"https://www.ntv.ru/video/embed/2045614/?og","descr":"","datetime":"29.09.2021","announce":"no","ostring":""},
{"title":"26 серия","file":"https://www.ntv.ru/video/embed/2045382/?og","descr":"","datetime":"28.09.2021","announce":"no","ostring":""},
{"title":"27 серия","file":"https://www.ntv.ru/video/embed/2045160/?og","descr":"","datetime":"27.09.2021","announce":"no","ostring":""},
{"title":"28 серия","file":"https://www.ntv.ru/video/embed/2044161/?og","descr":"","datetime":"23.09.2021","announce":"no","ostring":""},
{"title":"29 серия","file":"https://www.ntv.ru/video/embed/2043983/?og","descr":"","datetime":"22.09.2021","announce":"no","ostring":""},
{"title":"30 серия","file":"https://www.ntv.ru/video/embed/2043702/?og","descr":"","datetime":"21.09.2021","announce":"no","ostring":""},
{"title":"31 серия","file":"https://www.ntv.ru/video/embed/2043042/?og","descr":"","datetime":"20.09.2021","announce":"no","ostring":""},
{"title":"32 серия","file":"https://www.ntv.ru/video/embed/2042307/?og","descr":"","datetime":"16.09.2021","announce":"no","ostring":""},
{"title":"33 серия","file":"https://www.ntv.ru/video/embed/2041988/?og","descr":"","datetime":"15.09.2021","announce":"no","ostring":""},
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)