[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Календарь рабочих дней
Bekass
Есть задачка, к примеру к 10.07.2009 прибавить 2 рабочих дня, получается 14.07.2009.
Вопрос, в том если какие-нибудь классы или функции , облегчающие данную задачу.




Спустя 40 минут, 6 секунд (10.07.2009 - 14:23) sergeiss написал(а):
Цитата (Bekass @ 10.07.2009 - 14:43)
Вопрос, в том если какие-нибудь классы или функции , облегчающие данную задачу.

Насчет именно рабочих дней не знаю, но есть класс DateTime. Очень полезен, если нужно прибавить/убавить сколько-то дней и/или часов (минут, секунд) и быть уверенным, что будет учтены количество дней в месяце. Можно найти разницу в днях между двумя произвольно заданными датами...
Пример из хэлпа
PHP
$date = new DateTime("2006-12-12");
$date->modify("+1 day");
echo 
$date->format("Y-m-d");



Спустя 31 минута, 26 секунд (10.07.2009 - 14:54) waldicom написал(а):
Там, откуда sergeiss привел пример, в комментариях есть похожий функционал. Не совсем то, что надо, но очень близко. Тут

Спустя 3 часа, 44 минуты, 47 секунд (10.07.2009 - 18:39) Bekass написал(а):
Всем спасибо , нашел вот это:
PHP
function calcduedate($datecalc,$duedays) {
    
$i 1;
    while (
$i <= $duedays) {
        
$datecalc += 86400// Add a day.
        
$date_info  getdate$datecalc );
        if ((
$date_info["wday"] == 0) or ($date_info["wday"] == 6) )  {
            
$datecalc += 86400// Add a day.
            
continue;
        }
        
$i++;
    }
    return 
$datecalc ;
}


Правдо довольно не рациональное решение sad.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.