Посчитать выходные между 2 датами - PullRequest
2 голосов
/ 26 сентября 2010

Я пишу калькулятор цен, где по выходным действует специальная цена.Для этого мне нужно знать, сколько выходных между двумя датами.

Обратите внимание, что под выходными я имею в виду, что если они хотят, чтобы четверг был вторником, суббота и воскресенье не были 2 днями стариф выходного дня, но 1 выходной с единым тарифом.Таким образом, для четверга -> вторника это будет считаться за 1 уик-энд.

Для субботы -> субботы это будет считаться за 2 выходных, поскольку первая суббота не совпадает с выходной следующей субботы.То же самое можно сказать и о воскресеньях и воскресеньях, здесь учитываются выходные дни, независимо от того, являются ли они полными или частичными выходными.До тех пор, пока некоторые или любая часть выходных дней попадают в этот диапазон дат, они считаются 1 выходными.Лучшая аналогия, которую я могу придумать, - это рассматривать выходные дни как один день, который длится 48 часов, а не 2, который длится 24. 24. 1005 *

Итак, как бы я определил, сколько «целых или частичных выходных» существует между 2даты в php?

1 Ответ

3 голосов
/ 27 сентября 2010

Начнем с определения количества дней между датами.Это будет что-то вроде

$n = floor((timestamp_end - timestamp_start)/86400);

Если вы скажете, что суббота -> суббота = 2, то, если наш начальный день не суббота, а количество дней не является результатом 7, количество выходных$ n / 7, иначе $ n / 7 + 1.Таким образом, мы могли бы начать с.

$n_weekends = ceil($n/7);

А затем

if (date("N", timestamp_start) == 6 && $n%7 == 0 ){
  $n_weekends++;  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...