|
|
|
| как можно посчитать сколько в текущем месяце рабочих дней? | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 09:51)
| | Если решать вопрос в лоб, то стоит воспользоваться функцией date()
прогнать цикл по всему месяцу при каждом проходе сравнивая равен ли день недели 0 или 6. Если нет, то увеличиваем счетчик на 1.
http://www.softtime.ru/dic/id_dic=193&id_group=7 | |
|
|
|
|
|
|
|
для: Loki
(05.07.2005 в 11:09)
| | это в лоб:) неужели нет ничего более совершенного, чем это?
и еще вопрос...как определить с какого дня недели начинается месяц? | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:17)
| | 1) Для определения числа дней в месяце можно воспользоваться функцией date ()
<?php
date('t'); // Число дней в текущем месяце
?>
|
Для произвольной даты в качестве второго параметра следует передать дату
<?php
date('t', mktime(0, 0, 0, 2, 15, 2005)); // Число дней в феврале 2005 года
?>
|
Для определения числа дней в месяце в MySQL можно воспользоваться функцией LAST_DAY().
2) Для определения дня недели следует воспользоваться форматом l или w
<?php
date('l', mktime(0, 0, 0, 2, 1, 2005)); // День недели 1 февраля 2005
date('l', mktime(0, 0, 0, 2, 1, 2005)); // День недели 1 февраля 2005 (числовой формат)
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(05.07.2005 в 12:29)
| | это я все понимаю, знаю...но это мне не помогло, пока... | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:34)
| | Хм... а почему? Какие затруднения? | |
|
|
|
|
|
|
|
для: cheops
(05.07.2005 в 12:39)
| | вопрос стоит: как можно посчитать сколько в текущем месяце рабочих дней?
и пока я знаю одно решение...как написано выше прогнать через цыкл и посчитать...других способов нет? | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:48)
| | Второе решение заключается в использовании функции date()
<?php
$num = date('t'); // Число дней в текущем месяце
echo $num;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(05.07.2005 в 12:56)
| | это полное кол-во:) а мне надо рабочих .т.е. по-крайне мере без выходных | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:57)
| | А... тогда да, только циклом - ведь в каждом месяце и каждой стране число рабочих дней различное, кроме того зависит от того используется пяти или шести-дневная система. Да и праздники меняются слишком часто, то одни, то другие, то рабочие, то нет... | |
|
|
|
|
|
|
|
для: cheops
(05.07.2005 в 12:29)
| |
2) Для определения дня недели следует воспользоваться форматом l или w
<?php
date('l', mktime(0, 0, 0, 2, 1, 2005)); // День недели 1 февраля 2005
date('l', mktime(0, 0, 0, 2, 1, 2005)); // День недели 1 февраля 2005 (числовой формат)
?>
|
т.е. я сначало должен вычислить номер меяца, год, потом запустить эту функцию? хм...интересно | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:35)
| |
<?
$first = date('w', mktime(0, 0, 0, 1, 6, 2005));
echo $first;
|
должен вывисте 3, а выводит 4 (т.к. 1 июня среда) | |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:47)
| | Функция mktime() немного дебильная - на самом деле у вас 6 января, а 1 июня следует записывать следующим образом
<?
$first = date('w', mktime(0, 0, 0, 6, 1, 2005));
echo $first;
?>
|
| |
|
|
|
|
|
|
|
для: P@Sol
(05.07.2005 в 12:35)
| | ясно:( | |
|
|
|