Вход | Регистрация

1С:Предприятие ::

Метки:дата и время

Как подсчитать количество месяцев между произвольными датами

Я
   Майк
3 - 18.05.04 - 18:28
Подрихтуй под свои надобности:

Процедура глРазобратьРазностьДат(Знач Дата1,Знач Дата2,Лет=0,Месяцев=0,Дней=0) Экспорт
    Лет = 0; Месяцев = 0; Дней = 0;
    Если Дата1>Дата2 Тогда
        
        ВременнаяДата = Дата1;
        Если ДатаЧисло(ВременнаяДата)<ДатаЧисло(Дата2) Тогда
            Дней = ВременнаяДата-ДобавитьМесяц(ВременнаяДата,-1);
            ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-1);
        КонецЕсли;
        Если ДатаМесяц(ВременнаяДата)<ДатаМесяц(Дата2) Тогда
            ВременнаяДата = ДобавитьМесяц(ВременнаяДата,-12);
            Месяцев = 12;
        КонецЕсли;
        Лет        = Макс(             ДатаГод  (ВременнаяДата)-ДатаГод  (Дата2),0);
        Месяцев    = Макс(Месяцев    +ДатаМесяц(ВременнаяДата)-ДатаМесяц(Дата2),0);
        Дней    = Макс(Дней        +ДатаЧисло(ВременнаяДата)-ДатаЧисло(Дата2),0);
        
       // скорректируем отображаемое значение, если "вмешалось" разное количество дней в месяцах

        Если Дата2 <> (ДобавитьМесяц(Дата1,-Лет*12-Месяцев)-Дней) Тогда
            Дней = Дней + (КонМесяца(Дата2)-НачМесяца(Дата2)) - (КонМесяца(ДобавитьМесяц(Дата1,-1))-НачМесяца(ДобавитьМесяц(Дата1,-1)));
        КонецЕсли;
    КонецЕсли;

КонецПроцедуры   // глРазобратьРазностьДат
   Таня
 
4 - 18.05.04 - 18:28
ДатаМесяц надо наверное использовать
и вычитать потом
   SiMazx
 
6 - 18.05.04 - 18:42
(4) ДатаМесяц правильно, но учти, что даты могут быть в разных годах...
Тогда месяцу поздней даты прибавить 12 и тогда вычитать...


Список тем форума
  Рекламное место пустует
Независимо от того, куда вы едете — это в гору и против ветра!
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует