powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Количество високосных дней за период
10 сообщений из 10, страница 1 из 1
Количество високосных дней за период
    #39896542
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Подскажите как посчитать количество високосных дней за период с 29.11.2019 по 15.09.2028? Желательно на vb.net или c#
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896551
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896553
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О високосных годах слышал, а вот о високосных днях нет...
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896555
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
О високосных годах слышал, а вот о високосных днях нет...
тут вишь еще как, не с 2020 года надо считать, а с 29.11.2019, вдруг там еще високосные дни попадутся.

Я предлагаю так. Цикл по дням от 29.11.2019 до 15.09.2028. Если день високосный - count++
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896556
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЕвгенийВ,

Нужно узнать количество именно дней принадлежащих високосным годам за указанный период
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896558
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если начальная дата < 1 марта - год учитываем, иначе не учитываем
для конечной даты - зеркально
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896561
Spartak19
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

В конце кол- во високосных дней делится на 366, а кол-во не високосных соответственно на 365, поэтому именно дни нужны, а ни годы
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896564
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
     static IEnumerable<T> Generator<T>(Func<int, T> gen, Func<T, bool> func)
        {
            var i = 0;
            while (true)
            {
                var x = gen(i);
                i++;
                if (!func(x))
                {
                    break;
                }
                yield return x;
            }
        }
        static void Main(string[] args)
        {
            DateTime dt = new DateTime(2019, 11, 29);
            DateTime last = new DateTime(2028, 09, 15);

            var res = Generator(x => dt.AddDays(x), x => x <= last)
                .Count(x => DateTime.IsLeapYear(x.Year));


            Console.ReadLine();


        }
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896634
Colt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините, может глупость спрошу, но, учитывая указанный период (меньше 10 лет), может проще как-то ручками на листочке подсчитать? Зачем тут умную программу с хитрым алгоритмом выдумывать?
Или все-так интересует общий принцип для любых диапазонов дат, а конкретные указаны чисто для примера?
...
Рейтинг: 0 / 0
Количество високосных дней за период
    #39896646
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
О високосных годах слышал, а вот о високосных днях нет...

Есть "високосная секунда": Leap second .
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Количество високосных дней за период
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]