Помогите решить вопрос с data
Код:
{date('d.m.Y', strtotime("+3 days"))}
Выводит дату + 3 дня. ОК - работает.
Как улучшить?
Исключить из вывода выходные и праздники. Так как доставка и магазин в эти дни не работает.
Я не очень силен и честно не понимаю)
Может кто нибудь подсказать решение?
4 ответа
Список праздников где брать?
Если без учета праздников
PHP 5.3+
А вообще вот такой плагин пилю. Учитывает конкретные склады и остатки на них
даже так...
А "плюс три дня не считая среды и пятницы"?
Думаю, это мне было замечание о том, что можно вторую строчку убрать и сделать ещё лаконичнее :)
именно
По твоему коду получается, что пятница + 3 дня = понедельник.
А должна быть среда.
ой, всё!
мне кажется ТСу не так интересно как нам :)
ТСу интересно.
Но ТС не может проверить и посмотреть результат так как находится далеко от ПК)
Я так понял прощитал гос праздники РФ и исключить из из подбора даты проблематично?
Ну тогда зальем и что-нибудь скажем покупателю)
Да фигня на самом деле
Только стоит на предмет производительности глянуть. Но если праздников не очень много, то проблемы не должно быть.
Что-то ты перемудрил:
Но это не верный вариант - он тебя запутал с логикой работы.
Если пятница + дня получается пн.
Логика: покупатель сделал заказ в пт.
Заказа оплачен у поставщика.
Поставщик доставит в пн.
В пн покупатель может забрать заказ.
С чего это должна быть среда? я так понимаю компания не доставляет товар по выходным т.ч. все ок.
Если так, то да. А если комплектация заказа "3 рабочих дня", то среда
Более очевидный вариант "3 рабочих дня". Я сомневаюсь, что заказав товар в 23:59 в пятницу , можно получить его уже в понедельник.
Угу, именно поэтому к понедельнику они тоже хотят 3 дня добавить.
Верно.
Забрать в пн можно если заказ до 17:00.
Класс DateTime (PHP 5 >= 5.2.0, PHP 7)
Класс DateInterval из первого кода (PHP 5 >= 5.3.0, PHP 7)
Да и вообще DateTime не весь поддерживается в 5.2, поэтому скорее перестраховка.
отличный пример говнокода
И раз уж обсуждаем работу с датами, то подскажите зачем в этом коде проверка на php>=5.3 и вообще зачем этот блок с изменением данных полученных из "/data/timezones.php"? Да и код генерации "/data/timezones.php" учитывая то, что данный файл уже имеется.
Вот, например http://php.net/manual/ru/datetime.getoffset.php только при 5.2.1 работает :)
Ну так минимальная версия php 5.2 т.ч. все ок.
Всем спасибо)
Использовал метод info@ravencode.ru.
Просить вывести месяц (название) а не число не буду)) а то чет уже нагло
date это умеет, при условии что локаль задана русская
Не совсем понял о чем Вы))
что-то типо того https://stackoverflow.com/questions/18513742/ru-ru...
Ясно, понятно - не понятно)))
Спасибо за помощь)