Страница 1 из 1

Работа с датами в Ajax запросе

Добавлено: 22 окт 2020, 20:22
Степан
Как, с помощью поля Ajax запрос, изменить дедлайн проекта при редактировании его продолжительности?

Исходные с трех полей
$start = [159]; // дата начала (Дата с календарем)
$days = [947]; // продолжительность дней (Число)
$dline = [948]; // дедлайн проекта (Дата с календарем)

Как к начальной дате [159] прибавить количество дней [947] и вывести это значение в поле [948] ???

С самим выводом проблем вроде нет, по идее должно быть так
echo '<script>$("#fields_948").val(' . $n_dline . ')</script>';

А вот расчетом конечной даты (переменная $n_dline) ничего не получается ...

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

 $n_dline = ??????
Подскажите как это можно сделать..
Спасибо

Re: Работа с датами в Ajax запросе

Добавлено: 23 окт 2020, 07:25
support

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

<?php
$oldDate   = "2020-02-27";
$date1 = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
$date2 = date("Y-m-d", strtotime($oldDate.'+ 2 days'));
?>

Re: Работа с датами в Ajax запросе

Добавлено: 23 окт 2020, 08:56
Степан
ок

я уже так пробовал..


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

$oldDate   = "2020-11-27";
$n_dline = date("Y-m-d", strtotime($oldDate.'+ 1 days'));
echo '<script>$("#fields_948").val(' . $n_dline . ')</script>';
значение поля [948] = 1981

--
Поле [948] - Дата с календарем
на него вообще можно вывести значение с Ajax запроса??

Re: Работа с датами в Ajax запросе

Добавлено: 23 окт 2020, 15:59
support
Там есть режим отладки, посмотрите какие значения передаются в запрос.
Вы увидите что даты уже в timestamp. Соответственно вам нужно прибавлять секунды.

Дата нормально подставляется в поле, если формат корректный

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

echo '<script>$("#fields_159").val("2020-10-2")</script>';

Re: Работа с датами в Ajax запросе

Добавлено: 23 окт 2020, 18:21
Степан
support писал(а): 23 окт 2020, 15:59 Там есть режим отладки, посмотрите какие значения передаются в запрос.
Вы увидите что даты уже в timestamp. Соответственно вам нужно прибавлять секунды.

Дата нормально подставляется в поле, если формат корректный

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

echo '<script>$("#fields_159").val("2020-10-2")</script>';
ок

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

echo '<script>$("#fields_948").val("2020-10-2")</script>';
работает

но я не могу передать туда значение переменной..

Конечную дату несложно посчитать в timestamp

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

$n_dline = $start + $days*86400;
но при

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

echo '<script>$("#fields_948").val(' . $n_dline . ')</script>';
в поле даты [948] дата так и отображается в timestamp

при форматировании в "Y-m-d"

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

$n_dline = date("Y-m-d", $start + $days*86400);
echo '<script>$("#fields_948").val(' . $n_dline . ')</script>';
в поле формы отображается какой-то левый год (4-х значное число)

при том что при простом

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

echo  $n_dline ;
вижу значение в нормальном формате 2020-10-13

Т.е.
Остается вопрос
Как значение переменной $n_dline с датой в timestamp
передать в поле формы Дата с календарем???