Получение всех значений дат из интервала

Artur159

Client
Регистрация
10.03.2020
Сообщения
52
Благодарностей
4
Баллы
8
Доброго здравия;-) Может кто помочь с такой задачей, есть начало и конец даты, к примеру 28.12.2022 и 03.01.2023, как выцепить все даты, что идут в этом интервале в список построчно, чтобы на выходе было:

28.12.2022
29.12.2022
30.12.2022
31.12.2022
01.01.2022
02.01.2022
03.01.2022
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
В цикле прибавьте день, до нужной даты
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
C#:
DateTime start = DateTime.Parse("28.12.2022");
DateTime stop = DateTime.Parse("03.01.2023");

while(true)
{
    start = start.AddDays(1);
    Console.WriteLine(start.ToString());
    if (start >= stop) break;
}
 
  • Спасибо
Реакции: Artur159

Kulya

Client
Регистрация
11.09.2016
Сообщения
177
Благодарностей
48
Баллы
28
Доброго здравия;-) Может кто помочь с такой задачей, есть начало и конец даты, к примеру 28.12.2022 и 03.01.2023, как выцепить все даты, что идут в этом интервале в список построчно, чтобы на выходе было:

28.12.2022
29.12.2022
30.12.2022
31.12.2022
01.01.2022
02.01.2022
03.01.2022
 

Вложения

  • 9,9 КБ Просмотры: 46
  • Спасибо
Реакции: Sho и Artur159

Artur159

Client
Регистрация
10.03.2020
Сообщения
52
Благодарностей
4
Баллы
8
C#:
DateTime start = DateTime.Parse("28.12.2022");
DateTime stop = DateTime.Parse("03.01.2023");

while(true)
{
    start = start.AddDays(1);
    Console.WriteLine(start.ToString());
    if (start >= stop) break;
}
спасибо, робит, а не подскажите, как сделать, чтобы он просто дату в конце выдавал без времени?
101787
 

Artur159

Client
Регистрация
10.03.2020
Сообщения
52
Благодарностей
4
Баллы
8
не открывается, у меня версия не последняя зенки(
 

Artur159

Client
Регистрация
10.03.2020
Сообщения
52
Благодарностей
4
Баллы
8
спасибо, робит, а не подскажите, как сделать, чтобы он просто дату в конце выдавал без времени?
Посмотреть вложение 101787
C#:
DateTime start = DateTime.Parse("28.12.2022");
DateTime stop = DateTime.Parse("03.01.2023");

while(true)
{
    start = start.AddDays(1);
    var list = project.Lists["Test"];
  list.Add(start.ToString("dd.MM.yyyyy"));
    if (start >= stop) break;
}
 

Artur159

Client
Регистрация
10.03.2020
Сообщения
52
Благодарностей
4
Баллы
8
C#:
DateTime start = DateTime.Parse("28.12.2022");
DateTime stop = DateTime.Parse("03.01.2023");

while(true)
{
    start = start.AddDays(1);
    var list = project.Lists["Test"];
  list.Add(start.ToString("dd.MM.yyyyy"));
    if (start >= stop) break;
}
всем спасибо, готовое решение, может кому понадобиться в будущем:az:
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
482
Благодарностей
180
Баллы
43
  • Спасибо
Реакции: Artur159

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
549
Благодарностей
1 130
Баллы
93
Доброго здравия;-) Может кто помочь с такой задачей, есть начало и конец даты, к примеру 28.12.2022 и 03.01.2023, как выцепить все даты, что идут в этом интервале в список построчно, чтобы на выходе было:

28.12.2022
29.12.2022
30.12.2022
31.12.2022
01.01.2022
02.01.2022
03.01.2022
Привет. Все куда проще.
Я уже приводил схожий пример вот тут → Генерация списка дат в заданном промежутке с PLINQ (когда нужно сделать большой список) и просто LINQ. Советую обратить внимание. ;-)

Решение:
Генерация списка дат когда известно начало и конец:
string startDate = "10.03.2001"; // начало
string endDate = "16.03.2001"; // конец

DateTime startDateTime = DateTime.Parse(startDate);
DateTime endDateTime = DateTime.Parse(endDate);

var dates = Enumerable.Range(0, (DateTime.Parse(endDate) - DateTime.Parse(startDate)).Days + 1)
                      .Select(i => startDateTime.AddDays(i))
                      .Select(d => d.ToString("dd.MM.yyyy")).ToArray();

project.Lists["listZM"].AddRange(dates); // в список
Так же приложил шаблон, чтобы точно все работало.
 

Вложения

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