Перейти к содержимому


Вычисление даты с учетом рабочих и выходных дней


Сообщений в теме: 3

#1 TIRO

    Участник

  • Пользователи
  • PipPip
  • 20 сообщений
  • Пол:Женщина

Отправлено 10 Январь 2012 - 14:07

Добрый день, подскажите, пожалуйста, как можно рассчитать дату в такой ситуации: есть дата начала производства (тип дата) и длительность производства в рабочих днях (тип число). Необходимо вычислить дату окончания производства (тип дата).

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 10 Январь 2012 - 14:14

К примеру так: делаете цикл, добавляете в каждом проходе по одному дню, и проверяете, не выходной/праздничный ли он. Для учета праздничных дней создаете отдельную таблицу, типа производственного календаря. Если день не рабочий - пропускаете его, добавляете дальше, и т.д., пока не прибавится весь срок.

Вообще, составление конкретных алгоритмов выходит за рамки бесплатной техподдержки, я дал лишь общую подсказку.

#3 andibrag

    Прежде, чем задать вопрос, продумайте свое решение.

  • Активный пользователь
  • PipPipPip
  • 1 356 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 10 Январь 2012 - 14:51

Приведу пример определения даты окончания работ с учетом выходных и праздничных дней
В договоре есть поля Дата подписания, Срок исполнения по Договору, Дата окончания работ и deadline, содержащее вычисления
require_once "../cb_modules/DateAdd.php";
$start=$line['Дата подписания'];
$int=$line['Срок исполнения по Договору'];
$line['deadline']=($start!="0000-00-00 00:00:00" && $int)?(BankDay::getEndDate($start, $int+1, 'Y-m-d')):(/>($line['Дата окончания работ']!="0000-00-00 00:00:00")?($line['Дата окончания работ']):(/>""));
Менеджер может вносить данные двумя способами: заполняя кол-во рабочих дней или указывая конкретно дату окончания работ.
В первом случае deadline вычисляется, во втором приравнивается к дате окончания, заданной явно

модуль прилагаю:Прикрепленный файл  DateAdd.php   5,48К   276 Количество загрузок:

Творческая группа "ТАВР".

www.TAVR.pro Художественная ковка, металлоконструкции.

www.СтолМет.рф Складные столы, стулья и системы для их хранения


#4 TIRO

    Участник

  • Пользователи
  • PipPip
  • 20 сообщений
  • Пол:Женщина

Отправлено 20 Январь 2012 - 13:09

Спасибо большое за консультацию и пример, очень помогло!





Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных