8.х Кол-во дней от даты?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем -=ak=-, 26 ноя 2007.

  1. TopicStarter Overlay
    -=ak=-
    Offline

    -=ak=- Опытный в 1С

    Регистрация:
    13 фев 2006
    Сообщения:
    109
    Симпатии:
    0
    Баллы:
    26
    Как получить кол-во дней от выбранной даты относительно текущей даты?

    Пример.

    Есть дата 20-11-2007, текущая дата 26-11-2007
    Как получить значение 6 дней? Если можно пример.

    Спасибо!
  2. AndreySc
    Offline

    AndreySc

    Регистрация:
    11 окт 2007
    Сообщения:
    40
    Симпатии:
    0
    Баллы:
    1
    думаю так
    Код:
    Функция ДнейМежду(Дата1,Дата2)
    Если Дата1>Дата2 тогда
    Д2=Дата1;
    Д1=Дата2;
    Иначе
    Д2=Дата2;
    Д1=Дата1;
    КонецЕсли;
    СекундМежду=КонецДня(Д2)-НачалоДня(Д1)+1;
    ДнейМ=(СекундМежду/(60*60*24))-1;
    Возврат ДнейМ;
    КонецФункции
    
    
  3. Эмин
    Offline

    Эмин Руководитель проектов

    Регистрация:
    25 май 2007
    Сообщения:
    1.178
    Симпатии:
    1
    Баллы:
    26
    Я бы лучше так (просто короче сам код):
    Код:
    Функция ДнейМежду(Дата1, Дата2)
    Возврат ?(Дата1 > Дата2, КонецДня(Дата1)-КонецДня(Дата2), КонецДня(Дата2)-КонецДня(Дата1))/(60*60*24);
    КонецФункции;
    
    
    Кроме того, проверьте, если Даты не совпадают, но время в меньшей дате больше, пример 20.01.2007 19:50 и 22.01.2007 12:00 - тут должно быть два дня?

    А еще есть какая-то функция День или ДеньГода... Не помню точно, но какую-то применить можно.

    Ну и не забыть прибавить или отнять 1 если потребуется. Сейчас нет 1Ски под рукой, не могу написать совсем точно :)

Поделиться этой страницей