Есть код просчитывающий дату доставки товара на сайте. Алгоритм следующий:
Доставка по будним дням.
При заказе до 13.00 - доставка на следующий день.
При заказе после 13.00 — доставка через день.
В пятницу: при заказе до 13.00 - доставка в пн.
При заказе после 13.00 — доставка во вт.
В будни все отображается корректно, а с выходными проблемы.
Код следующий:
$(function(){
// информация о доставке
if($('.order_info_block').length) {
// если цена заказа больше 3000, доставка бесплатная
var item_price = $('.new-price .number').text();
item_price = item_price.replace(' ', '');
item_price = item_price.replace('.00', '');
item_price = parseInt(item_price);
console.log(item_price);
var del_price = '350 руб.';
if(item_price >= 3000) del_price = 'бесплатно';
// рассчитываем время доставки
var del_time = 'завтра';
var date = new Date();
var day = date.getDay();
var hours = date.getHours();
// увеличенный срок доставки
var next_date = new Date();
next_date.setDate(next_date.getDate()+2);
// если четверг после 13, +2 дня (в понедельник)
if(day == 4 && hours >= 13) {
next_date.setDate(next_date.getDate()+2);
}
// если пятница до 13, +1 день (в пн)
if(day == 5 && hours <= 13) {
next_date.setDate(next_date.getDate()+1);
}
// если заказывают после 13 или в субботу, рассчитываем время доставки
if(hours >= 13 || day == 6) {{
next_date.setDate(next_date.getDate()+2);
}
var month = next_date.getMonth();
switch (month) {
case 0: month = 'января'; break;
case 1: month = 'февраля'; break;
case 2: month = 'марта'; break;
case 3: month = 'апреля'; break;
case 4: month = 'мая'; break;
case 5: month = 'июня'; break;
case 6: month = 'июля'; break;
case 7: month = 'августа'; break;
case 8: month = 'сентября'; break;
case 9: month = 'октября'; break;
case 10: month = 'ноября'; break;
case 11: month = 'декабря'; break;
default: month = '';
}
var weekday = next_date.getDay();
switch (weekday) {
case 0: weekday = 'воскресенье'; break;
case 1: weekday = 'понедельник'; break;
case 2: weekday = 'вторник'; break;
case 3: weekday = 'среда'; break;
case 4: weekday = 'четверг'; break;
case 5: weekday = 'пятница'; break;
case 6: weekday = 'суббота'; break;
default: weekday = 'не определено';
}
del_time = next_date.getDate() + " " + month + ", " + weekday;
}
Где ошибка?