02.08.2017, 10:10
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,217
|
|
Сообщение от laimas
|
date.getDay() возвратит день недели: 0 - воскресенье, 6 - суббота. Сравнивайте возвращаемое с двумя этими значениями если суббота тоже не рабочий день или только булево значение возвращаемого. Соответственно от результата проверки корректируйте номер на сутки/двое.
|
Да он потом еще вспомнит про праздничные дни и про переносы выходных дней...
|
|
02.08.2017, 10:13
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
laimas,
Сообщение от laimas
|
корректируйте номер на сутки/двое.
|
Корректировать не получится - нужно помнить предыдущий результат, т.к там уже тоже были выходные, который нужно хранить на сервере и обновлять обязательно каждые сутки один раз.
Проще каждый раз вычислять заново - крутить цикл от стартовой даты
Последний раз редактировалось Dilettante_Pro, 02.08.2017 в 10:17.
|
|
02.08.2017, 10:19
|
Новичок на форуме
|
|
Регистрация: 01.08.2017
Сообщений: 7
|
|
Сообщение от Dilettante_Pro
|
helish_88,
В этом случае это уже не совсем простой номер. Его тогда нужно вычислять от стартовой даты с наращиванием счетчика в зависимости от дней недели
|
я так понял мне этого не сделаю! ладно! Спасибо всем и за это!
|
|
02.08.2017, 10:20
|
Новичок на форуме
|
|
Регистрация: 01.08.2017
Сообщений: 7
|
|
Сообщение от Dilettante_Pro
|
laimas,
Корректировать не получится - нужно помнить предыдущий результат, т.к там уже тоже были выходные, который нужно хранить на сервере и обновлять обязательно каждые сутки один раз.
Проще каждый раз вычислять заново - крутить цикл от стартовой даты
|
интересно
|
|
02.08.2017, 10:43
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
Вот, к примеру, с начала июля
var dateStart = new Date("07/01/2017"),
dateEnd = new Date(),
dateCurr = dateStart,
n = 0;
dateCurr.setHours(0, 0, 0);
dateEnd.setHours(0, 0, 0);
do {
if(dateCurr.getDay() != 0 && dateCurr.getDay() != 6) n++;
dateCurr.setDate(dateCurr.getDate() + 1);
} while(dateCurr < dateEnd);
alert("n = " + n);
|
|
02.08.2017, 11:00
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Dilettante_Pro
|
Корректировать не получится - нужно помнить предыдущий результат
|
Я понимаю, но если не выпендриваться, то лучше номер выходных дней равен предыдущему дню иди дням, тогда и запоминать ничего не надо. Кроме того, что вообще такое "номер по порядку"? В году 365/366 дней, зная это и текущий год, имеем счетчик уже "с памятью" от 1970 для многих поколений. )
|
|
02.08.2017, 11:07
|
Профессор
|
|
Регистрация: 27.11.2015
Сообщений: 2,899
|
|
laimas,
Сообщение от laimas
|
номер выходных дней равен предыдущему дню иди дням, тогда и запоминать ничего не надо.
|
Что такое - равен предыдущему? Откуда предыдущий, если ничего не запоминать или не считать от какой-то стартовой даты?
|
|
02.08.2017, 11:14
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Dilettante_Pro
|
Откуда предыдущий, если ничего не запоминать или не считать от какой-то стартовой даты?
|
А зачем запоминать, мы и так знаем текущую дату, если это это суббота/воскресенье, значит нужно взять пятницу. Вообще бы сначала лучше выяснить роль этого номера, возможно все эти потуги и напрасны, и решить это можно несколько иначе, естественным путем.
|
|
02.08.2017, 11:19
|
Новичок на форуме
|
|
Регистрация: 01.08.2017
Сообщений: 7
|
|
|
|
|
|