Как посчитать стоимость аренды по месяцам?

drkrol

Постоялец
Регистрация
6 Мар 2016
Сообщения
112
Реакции
11
Здравствуйте. Пишу для себя скрипт для аренды номеров в гостинице. Ситуация такая: есть две даты: дата заезда и дата съезда. Допустим 10.06.2016 и 15.06.2016. Выходит, что я проживу в гостинице 5 дней. 10 числа в 12:00 заехал, 15 числа в 12:00 съехал. Всё логично.
Стоимость аренды номера варьируется от сезона/месяца. Так, к примеру, в феврале номер стоит 1000 руб/день, а в августе 4000 руб/день.
Если бронь идёт только в одном месяце, я могу её без проблем посчитать. Для просмотра ссылки Войди или Зарегистрируйся вот как я считаю. Но, если бронь идёт на несколько месяцев или встаёт на даты перехода одного месяца в другой (31-01), то тут начинаются проблемы.
Допустим в декабре номер стоит 2000 рублей, а в январе 1500. Если я заехал 30.12.2016 а съехал 02.01.2017, то я заплачу за эти 3 дня 5500 рублей.
(12:00 - это двенадцать часов дня)
с 30.12.2016 12:00 по 31.12.2016 12:00 - 2000 рублей
с 31.12.2016 12:00 по 01.01.2017 12:00 - 2000 рублей
с 01.01.2017 12:00 по 02.01.2017 12:00 - 1500 рублей
651113984b4844d180af8b3578871232.jpg

Как мне реализовать вот такой скрипт? который будет считать стоимость бронирования, если присутствуют в датах несколько месяцев?
 
Вот написал скрипт, но в нём есть ошибка и я её в упор не вижу. Для просмотра ссылки Войди или Зарегистрируйся укажите в дате заезда 2016-12-30, а съезд 2017-01-03. Он не правильно даты посчитает. Почему, не знаю...
 
А нет. Извиняюсь. Не работает мой скрипт. Очень много "Но" в моём скрипте. Не работает он, когда бронь на 2 месяца и более. и много других ошибок. он, к примеру не может посчитать кол-во дней, если заезд будет 30.12 а выезд 02.01
 
Назад
Сверху