![]() |
php - date() - скрипт
Вообщем, такая трабла.
у меня есть дата date("d.m.Y",strtotime($odate2)) например, 27.06.07 к этой дате надо прибавить количество дней для выполенения заказа $sdacha например, 23 дня во-первых тупым сложением, получается 50.06.07 проблему можно избежать, переведя дату в сукунду от 1970 года. Это первое, что я не знаю как сделать, чтобы получить нормальную дату. вторая - просто мега проблема как мне кажется, это то что $sdacha==23 дня - не просто дня, а рабочих дня. т.е. мне надо получить готовую дату, потом определить все дни между $odate2 и готовой датой, и если там есть суббота, воскресение, то прибавить эти дни как рабочие, и снова проверить, если снова попадают выходные, то снова приплюсовывать к дате. я, вообще, в ступоре. Помогите, плз, кто-нить решить задачу. добавлено через 21 минуту и ещё. желательно предусмотреть такую штуку. допустим я в ручную вобью все праздники, например , если в промежуток попадает дата 8.03.07, то +1 рабочий день. как енто сделать? (( |
Праздники можно заколотить в массив, и потом просто проверить дату на наличие таковой в этом массиве. С выходными, особой проблемы нет, т.к. та же date() умеет возвращать день недели. А вот что ты хочешь сделать я не очень понял. Если просто накинуть 23 дня, но так чтобы дата не попала на выходные, то накинь а потом прибавляй по дню пока не попадёшь на будний день.
|
да нет же. не так.
к $odate2=27.06.07 надо прибавить $sdacha=23 рабочих дня и получить дату. с вычетом выходных и праздников. я не знаю как енто забабахать. |
на первом своём вопросе опять натолкнулся на косяк.
пишу: $plansdacha=$sdacha*24*3600; $plan=strtotime($odate2); $plannew=date("d.m.Y",strtotime(($plan-$plansdacha))); мне выводит при условии, что $sdacha=1 рабочий день, $odate2=26.06.2007: 86400 1182801600 31.03.118275 подскажите, где я накосячил, плз |
Код:
$plannew=date("d.m.Y",strtotime(($plan-$plansdacha)));вот так правильно Код:
$plansdacha=$sdacha*24*3600; |
Цитата:
|
PHP код:
|
Используй http://pear.php.net/Date и не парься.
|
есть фишка, непомню эту функцию, которая определяет день недели, наверное надо в этом направлении искать
|
Цитата:
|
| Часовой пояс GMT +4, время: 18:48. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.