Pull to refresh

Российская армия глазами IT-шника. Как измерить стаж?

Reading time 2 min
Views 998
Мне с детства казалось (может быть потому что у меня дед был военным?..) что армия это такое место, где всё четко определено. Но при ближайшем рассмотрении она оказалась совсем не такой. Чиновники-бюрократы отдыхают по сравнению с армейскими начальниками. И вот мне поставили одну задачу, которая очень важна при рассчете зарплаты военнослужащим — нужно посчитать стаж работы с точностью до дня. Но на вопрос — как его считать точного ответа мне никто так и не смог дать! А какие есть варианты?


Пока у человека один период службы — всё хорошо. Мы честно вычитаем годы из годов, месяцы из месяцев и дни из дней. Т.е. если он пришел служить 5 февраля 1979 года, а уволился 10 июня 1983 года, то его стаж составляет 4 года 4 месяца и 6 дней.

А что делать если он отслужил с 1.01.2001 по 29.01.2001 и с 1.03.2001 по 30.03.2001? Он отслужил 29 дней в первый период и 30 во второй. Сколько это? Я могу предложить 3 правильных варианта ответа:
— 1 месяц и 28 дней
— 1 месяц и 29 дней
— 2 месяца
Каждый из них имеет логичное объяснение. Ну, с первыми двумя, наверное, понятно. В первом случае мы «добиваем» январь до 31 дня и в марте остается еще 28 отработанных дней. Во втором случае за месяц мы берем средний месяц размером 30 дней ((int)365/12 == 30). Но и третий вариант имеет право на жизнь. Смотрите. Мы считаем, что человек поступил на службу 1.01.2001. И стаж его мы считаем именно с этого момента. А значит и года/месяца/дни должны идти соответствующие. Т.е. он отслужил 59 дней с 1.01.2001., а это аналогично тому, что он отслужил бы с 1.01.2001 по 28.02.2001, т.е. 2 месяца. Значит третий вариант ответа тоже правильный.

И как же тогда считать?

В итоге, я написал небольшую программку, которая для каждого периода считает года/месяца/дни честно, а потом «лишние дни» бьет на месяцы из рассчета один месяц = 30 дней. А вы как считаете, какой вариант правильнее?

P.S. Я, кстати, считаю самым правильным именно третий вариант — посчитать общее количество дней во всех периодах и отложить их от самой первой даты самого первого периода. Но местное начальство с этим не очень согласно.
Tags:
Hubs:
+11
Comments 7
Comments Comments 7

Articles