Страница 3 из 4

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 01:55
Fait
polla писал(а): 13 дек 2023, 01:49 я очень рад за вас
Извините, я что-то не то написал??
Если вам действительно будет нужно, могу написать сюда коды на PHP и SQL, которые будут выполнять работу поля "Разница в днях".

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 01:58
polla
думаете стоит?

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 02:04
Fait
polla писал(а): 13 дек 2023, 01:58 думаете стоит?
А почему нет?
Если нужно, помогу, мне не сложно...
Только если это действительно нужно человеку.
Я поначалу много чего не знал и не умел.
Так люди и мне подсказывали иногда, я благодарен им за это 😌

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 02:19
polla
если помогают то помогают а не спрашивают помочь или нет.
а вы как то странно помогаете - сначала рассказали какой вы хороший, потом пофилософствовали что можно сделать, сейчас задаете вопросы а кому это вообще нужно, рассказали о своей карьере

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

и главное а почему у вас статус инвестора а я спонсор

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 07:37
nruslan2
минус поля разницы в днях еще то что там нет отрицательных чисел (раньше не было точно!)

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 07:51
support
Fait писал(а): 13 дек 2023, 01:35
polla писал(а): 13 дек 2023, 01:22 я удивляюсь почему вы тогда себе сами не написали свою CRM
Странно...
Там же всё элементарно.
(Одна дата - другая дата) / 86400 = кол-во дней
Если числа дробные, то округление нужно сделать.
Все просто до того момента, когда нужно исключить конкретные дни:)

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 10:06
Fait
polla писал(а): 13 дек 2023, 02:19 если помогают то помогают а не спрашивают помочь или нет.
Запроса на код не было, и я не понимаю, нужно или нет.
Когда я "лезу" со своим кодом туда, где об этом не спросили, это частенько выходит боком.
Поэтому я сначала рассказываю, как я это реализовал у себя, и уже потом, если человеку интересен мой метод, я выкладываю своё решение.
polla писал(а): 13 дек 2023, 02:19 вот расскажите почему у вас так все устроено? это стиль жизни, политическая ориентация или желание рассказать миру что вы есть, вы хороший и умный.
Мы с вами не знакомы, откуда это необоснованное обобщение "у вас так всё устроено"?
Это у вас стиль жизни или ориентация такая, хейтить не по делу?
polla писал(а): 13 дек 2023, 02:19 и главное а почему у вас статус инвестора а я спонсор
Ну а это написал какой-то ребёнок...

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 10:08
Fait
support писал(а): 13 дек 2023, 07:51
Fait писал(а): 13 дек 2023, 01:35
polla писал(а): 13 дек 2023, 01:22 я удивляюсь почему вы тогда себе сами не написали свою CRM
Странно...
Там же всё элементарно.
(Одна дата - другая дата) / 86400 = кол-во дней
Если числа дробные, то округление нужно сделать.
Все просто до того момента, когда нужно исключить конкретные дни:)
И этот момент тоже обрабатывается без проблем.
Да, конечно нужно знать структуру БД, чтобы такое сделать.
Но тем не менее, это реально

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 10:09
Fait
nruslan2 писал(а): 13 дек 2023, 07:37 минус поля разницы в днях еще то что там нет отрицательных чисел (раньше не было точно!)
И этот момент также обрабатывается хорошо.
Число приводится в натуральный вид, который по определению всегда больше нуля.

Re: После переезда случилась беда

Добавлено: 13 дек 2023, 11:16
Fait
Вот код для PHP поля (вместо 777 и 888 поставьте свои значения):

Код: Выделить всё

$dt1 = [777]; // Дата начала
$dt2 = [888]; // Дата окончания
// Отсекаем часы, минуты и секунды (если есть)
$tek_dt1 = mktime(0,0,0,date('m',$dt1),date('d',$dt1),date('Y',$dt1));
$tek_dt2 = mktime(0,0,0,date('m',$dt2),date('d',$dt2),date('Y',$dt2)) + 86400;
$cursor = $tek_dt1;
$i = 0;
// Считываем праздничные даты, приводим их к формату unix и помещаем в масиив
$check_holidays = db_query('select * from app_holidays where 1');
foreach ($check_holidays as $key => $value) {
  $arr[$i]['start'] = strtotime($value['start_date']);
  $arr[$i]['end'] = strtotime($value['end_date']);
  $i++;
}
// Вычисляем кол-во праздничных дней
foreach ($arr as $key => $value) {
  $start = $value['start'];
  $end = $value['end'];
  $flag = 0;
  $cursor = $tek_dt1;
  while ($flag == 0) {
    if ($cursor >= $start && $cursor <= $end) {
      $holidays += 1;
    }
    if ($cursor >= $end) {
      $flag = 1;
    }
    $cursor += 86400;
  }
}
$diap = ($tek_dt2 - $tek_dt1) / 86400; // Количество дней в текущем периоде
$diff_days = $diap - $holidays; // Разница в днях
$output_value = $diff_days;