1С 8.3 Високосный ли год? - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Високосный ли год?

Данные > Примеры кода 1С > 1С 8.3 Дата и время
Перейти в основной раздел:
Високосный год — это календарный год, в котором 366 дней, а не 365, как обычно. Дополнительный день добавляется в феврале — 29 февраля вместо 28. Високосным годом является каждый четвёртый год. Однако есть исключения: годы, кратные 100, но не кратные 400. Например, 1900 год не был високосным, а 2000 — был. В 1С определение високосного года можно осуществить с помощью встроенного функционала или написания кода. Для этого необходимо использовать функцию, которая проверяет, делится ли год на 4 без остатка. Если делится, то год високосный.
Определение високосного года в 1С 8.3:
Функция ВисокосныйГод(ВхГод) Экспорт // 2024

   Если ВхГод % 400 = 0 Тогда
       Возврат Истина;
   ИначеЕсли ВхГод % 100 = 0 Тогда
       Возврат Ложь;
   ИначеЕсли ВхГод % 4 = 0 Тогда
       Возврат Истина;
   Иначе
       Возврат Ложь;
   КонецЕсли;

КонецФункции
Определение високосного года в 1С 8.3:
Функция ВисокосныйГод1(ВхДатаНапримерТекущая) Экспорт // Дата("20240218")

   КоличествоДней = ДеньГода(КонецГода(ВхДатаНапримерТекущая));
   ВисокосныйГод = ?(КоличествоДней = 366, Истина, Ложь);

   Возврат ВисокосныйГод;

КонецФункции
Определение високосного года в 1С 8.3:
Функция ВисокосныйГод2(ВхДатаФевраля) Экспорт // Дата("20240218")

   Возврат ?(День(КонецМесяца(ВхДатаФевраля)) = 29, Истина, Ложь);

КонецФункции
Определение високосного года в 1C:Предприятие.Элемент Скрипт:
method Leap(year:Number):Boolean
case
True when year % 400 == 0 return
True when year % 100 == 0 return
False when year % 4 == 0 return
True else return False ;  ;
// пример использования
method Script()
for y = 1900 to 2100
if Leap(y)
Console.Write(y) ; ; ;
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 18.02.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Назад к содержимому