01.07.2015, 11:15
|
Новичок на форуме
|
|
Регистрация: 01.07.2015
Сообщений: 6
|
|
Вывод ожидаемой доставки на сайте
Всем привет!
Нужна помощь в реализации скрипта начинающему.
Суть следующая:
Если пользователь заходит в карточку товара на текущий день до 15.00 , то доставка завтра.
Если пользователь заходит в карточку товара на текущий день после 15.00, то доставка после завтра.
Вроде бы написал, но столкнулся с проблемой последнего дня в месяце, скрипт начал выводить неправильную дату , то есть, завтра допустим 1 мая, а выводит 32 апреля....
скрипт прилагается
<script type="text/javascript"> // выводим дату доставки
var d = new Date();
var theDay = d.getDay();
var time = d.getHours();
var dTommorow = new Date();
var dTommorow.setDate(D.getDate() + 1));
var dAfterTommorow = new Date();
var dAfterTommorow.setDate(D.getDate() + 2));
var month=new Array(); // выводим массив месяцев
month[0] = "Января";
month[1] = "Февраля";
month[2] = "Марта";
month[3] = "Апреля";
month[4] = "Мая";
month[5] = "Июня";
month[6] = "Июля";
month[7] = "Августа";
month[8] = "Сентября";
month[9] = "Октября";
month[10] = "Ноября";
month[11] = "Декабря";
if(time < 15) // Проверка: если до 15.00, то доставка завтра
{
/*document.write("<span>Доставим по Москве:</span>"+" " +[d.getDate()+1] + " " + month[d.getMonth()]);*/
document.write("<span>Доставим по Москве:</span>"+" " +[dTommorow.getDate()] + " " + month[dTommorow.getMonth()]);
}
else
{
document.write("<span>Доставим по Москве:</span>"+" " +[d.AfterTommorow.getDate()] + " " + month[d.getMonth()]);
}
switch (theDay)
{
case 6:
document.write(" - Внимание! Доставка в выходные дни по договоренности"); // выводим сообщение на доставку в выходные дни
break;
case 7:
document.write(" - Внимание! Доставка в выходные дни по договоренности");
}
</script>
|
|
01.07.2015, 12:31
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,121
|
|
Сообщение от sgans
|
var dAfterTommorow.setDate(D.getDate() + 2));
|
что это D ?
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
01.07.2015, 13:40
|
Новичок на форуме
|
|
Регистрация: 01.07.2015
Сообщений: 6
|
|
<script type="text/javascript"> // выводим дату доставки
var d = new Date();
var theDay = d.getDay();
var time = d.getHours();
var dTommorow = new Date();
var dTommorow.setDate(d.getDate() + 1));
var dAfterTommorow = new Date();
var dAfterTommorow.setDate(d.getDate() + 2));
var month=new Array(); // выводим массив месяцев
month[0] = "Января";
month[1] = "Февраля";
month[2] = "Марта";
month[3] = "Апреля";
month[4] = "Мая";
month[5] = "Июня";
month[6] = "Июля";
month[7] = "Августа";
month[8] = "Сентября";
month[9] = "Октября";
month[10] = "Ноября";
month[11] = "Декабря";
if(time < 15) // Проверка: если до 15.00, то доставка завтра
{document.write("<span>Доставим по Москве:</span>"+" " +[dTommorow.getDate()] + " " + month[dTommorow.getMonth()]);
}
else
{document.write("<span>Доставим по Москве:</span>"+" " +[dAfterTommorow.getDate()] + " " + month[dAfetrTommorow.getMonth()]);
}
switch (theDay)
{
case 6:
document.write(" - Внимание! Доставка в выходные дни по договоренности"); // выводим сообщение на доставку в выходные дни
break;
case 7:
document.write(" - Внимание! Доставка в выходные дни по договоренности");
}
</script>
|
|
09.07.2015, 06:27
|
Профессор
|
|
Регистрация: 23.10.2010
Сообщений: 2,718
|
|
Обалдеть. А если он напишет - привезите мне послезавтра в 11-00, вы что ему скажете "в очередь сукины дети"?
|
|
13.07.2015, 12:21
|
Новичок на форуме
|
|
Регистрация: 13.07.2015
Сообщений: 1
|
|
используйте BB-коды для форматирование .....
|
|
15.07.2015, 17:12
|
Новичок на форуме
|
|
Регистрация: 01.07.2015
Сообщений: 6
|
|
Ничего не напишет, читай задание внимательно. Это информационное сообщение.
|
|
15.07.2015, 17:14
|
Новичок на форуме
|
|
Регистрация: 01.07.2015
Сообщений: 6
|
|
Сообщение от vendetta_js
|
используйте BB-коды для форматирование .....
|
В общем по существу ответить никто не может, вот только писать что и чем форматировать и какие сообщения надо писать эт пожалуйста.
|
|
15.07.2015, 21:05
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
По рзелульаттам илссеовадний одонго анлигйсокго унвиертисета, не иеемт занчнеия, в кокам пряокде рсапожолены бкувы в солве. Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете. Осатьлыне бкувы мгоут селдовтаь в плоонм бсепордяке, все-рвано ткест чтаитсея без побрелм. Пичрионй эгото ялвятеся то, что мы чиатем не кдаужю бкуву по отдльенотси, а все солво цликеом.
Но это текст, а вот код, это иное. Выставляя код, потрудитесь его обрамить ВВ-тегами соответствующими, чтобы он воспринимался как код, а не Галвоне, чотбы преавя и пслоендяя бквуы блыи на мсете Вы же просите помощи, значит уважайте тех, кто должен вникать в код ваш.
Что касается непосредственно кода - а каким образом сервер будет знать, что кто-то выбрал товар до или после 15:00? Товаром ведь ведает не клиент, а сервер. К тому же, чтобы так однозначно трактовать доставку, магазин должен обслуживать клиентов только своего часового пояса, все запросы на доставку (выбор товара) должны в пределах часового пояса сервера. Это так?
|
|
16.07.2015, 11:00
|
Новичок на форуме
|
|
Регистрация: 01.07.2015
Сообщений: 6
|
|
Сообщение от laimas
|
Что касается непосредственно кода - а каким образом сервер будет знать, что кто-то выбрал товар до или после 15:00? Товаром ведь ведает не клиент, а сервер. К тому же, чтобы так однозначно трактовать доставку, магазин должен обслуживать клиентов только своего часового пояса, все запросы на доставку (выбор товара) должны в пределах часового пояса сервера. Это так?
|
Еще раз повторяю, товар никто не выбирает, клиент заходит в карточку товара, в описании он просто видит инфо, что доставка по москве возможна завтра, если он зашел на эту страницу до 15.00.
А вот по по поводу часовых поясов пока не задумывался, так как хост питерский, то соответственно берется московское время.
Но дело не в этом, ошибка проявилась на конец месяца - к последнему дню месяца прибавляется еще 1 день, и вместо 1 апреля отображается 32 марта... как это поправить , вот в чем суть всего вопроса..
А тут развели демагогию по поводу, как должно выглядеть сообщение и все такое...
|
|
16.07.2015, 11:03
|
Новичок на форуме
|
|
Регистрация: 01.07.2015
Сообщений: 6
|
|
|
|
|
|