Операции с датами
#21
Отправлено 27 Июнь 2014 - 09:50
`f4651`='Нет' - верно
'f4661'='0' - ошибка
P.S. Рекомендуется также использовать функцию data_update для запроса на обновление записи.
#22
Отправлено 06 Август 2014 - 09:40
Так не работает
$date1 = date("d.m.Y",strtotime(form_eng_time($_REQUEST['date1'])));
$sqlQuery = "SELECT count(*) as cnt FROM ".DATA_TABLE."321 WHERE f4301>=$date1";
Сообщение отредактировал Sebastien: 06 Август 2014 - 09:41
#23
Отправлено 06 Август 2014 - 10:04
$date1 = form_eng_time($_REQUEST['date1']);
#24
Отправлено 06 Август 2014 - 10:32
CbCoder (06 Август 2014 - 10:04) писал:
$date1 = form_eng_time($_REQUEST['date1']);
Просто выше такой код идет, я взял из другого отчета по аналогии...
if ($_REQUEST['date1']) $date1 = date("d.m.Y",strtotime(form_eng_time($_REQUEST['date1'])));
else $date1 = date("d.m.Y", mktime(0,0,0,date("m"),date("d")-7,date("Y")));
а дальше я хотел сделать запрос где f4301>=$date1
такой вариант $date1 = form_eng_time($_REQUEST['date1']) что то тоже у меня не считает
Сообщение отредактировал Sebastien: 06 Август 2014 - 10:34
#25
Отправлено 06 Август 2014 - 10:53
Цитата
И $date1 там помещается в запрос что ли? Эта переменная скорее всего используется для вывода на экран, т.к. формат "d.m.Y" привычен для русскоязычного пользователя, но это не формат хранения даты в БД.
Цитата
Значит у вас в $_REQUEST['date1'] дата в каком-то нестандартном виде, или ее вообще там нет, или вообще нет такой переменной. Такое ощущение, что вы просто дергаете фрагменты из отчета вне контекста, естественно что так ничего работать не будет.
#26
Отправлено 07 Август 2014 - 10:35
Цитата
Вот так вроде заработало:
$sqlQuery = "SELECT count(*) as cnt FROM ".DATA_TABLE."321 WHERE f4301>='".form_eng_time($date1." 00:00:00")."'";
#27
Отправлено 13 Ноябрь 2014 - 02:58
CbCoder (19 Март 2014 - 13:14) писал:
$bd = strtotime($line['Дата начала']); $line['Дата окончания'] = date("Y-m-d H:s:i", mktime(date("H",$bd),date("i",$bd),date("s",$bd),date("m",$bd)+10,date("d",$bd),date("Y",$bd)));
А 31 февраля тут разве не будет?
https://info.crm-master.info
#29
Отправлено 18 Ноябрь 2014 - 18:41
Как вот это сделать?
-------------
В инете нашел:
"просто берёте месяц, прибавляете к нему единицу если уже не 12
затем собираете дату и проверяете корректна ли она при помощи функции
checkdate если нет то уменьшаете день до тех пор пока не будет корректна"
function dateAfterMonth($m=1,$d=1,$y=1970)
{
if($m == 12){
return strtotime("+1 month",mktime(0,0,0,$m,$d,$y));
}
++$m;
while(true){
if(checkdate($m,$d,$y)){
break;
}
--$d;
}
return mktime(0,0,0,$m,$d,$y);
}
Сообщение отредактировал Tony999: 19 Ноябрь 2014 - 00:51
https://info.crm-master.info
#30
Отправлено 11 Февраль 2015 - 17:06
#31
Отправлено 19 Февраль 2015 - 16:41
Я вставляю этот код в окончание регистрации и он ничего не происходит! Но мне по сути надо что, Есть регистрация домена, надо что бы за 10 дней строчка становилась красной и было напоминание чтоб не забыл оплатить домен. И второе автоматом к дате заполнения проставлял дату окончания
$bd = strtotime($line['Дата регистрации']);
$line['Окончание регистрации'] = date("Y-m-d H:s:i", mktime(date("H",$bd),date("i",$bd),date("s",$bd),date("m",$bd)+12,date("d",$bd),date("Y",$bd)));
#32
Отправлено 24 Февраль 2015 - 14:13
#33
Отправлено 12 Март 2015 - 15:27
Не работает казалось бы простой алгоритм:
if ($line['Дата начала полномочий']!= "000-00-00") { $line['Срок полномочий'] = date("Y-m-d H:i:s", strtotime($line['Дата начала полномочий'])+2*365); } else { $line['Срок полномочий']="000-00-00"; }
Задача простоя - если есть "Дата начала полномочий", то автоматически должно появляться значение в "Срок полномочий" плюс два года. Если нет, то должно оставаться пустым.
Что не так я делаю?
#34
Отправлено 12 Март 2015 - 16:15
Александр Пономарев (12 Март 2015 - 15:27) писал:
Не работает казалось бы простой алгоритм:
if ($line['Дата начала полномочий']!= "000-00-00") { $line['Срок полномочий'] = date("Y-m-d H:i:s", strtotime($line['Дата начала полномочий'])+2*365); } else { $line['Срок полномочий']="000-00-00"; }
Задача простоя - если есть "Дата начала полномочий", то автоматически должно появляться значение в "Срок полномочий" плюс два года. Если нет, то должно оставаться пустым.
Что не так я делаю?
if ($line['Дата начала полномочий']!= "0000-00-00 00:00:00") { $line['Срок полномочий'] = date("Y-m-d H:i:s", strtotime($line['Дата начала полномочий'])+2*365); } else { $line['Срок полномочий']="0000-00-00 00:00:00" ; }
Вот так по крайней мере при пустой дате не выводится некорректная дата в другом поле. Но два года почему-то не добавляются.
Сообщение отредактировал Александр Пономарев: 12 Март 2015 - 16:17
#35
Отправлено 12 Март 2015 - 17:05
if ($line['Дата начала полномочий']!= "0000-00-00 00:00:00") { $line['Срок полномочий'] = date("Y-m-d H:i:s", strtotime($line['Дата начала полномочий'])+60*60*24*365*2); } else { $line['Срок полномочий']="0000-00-00 00:00:00" ; }Рабочий код
#36
Отправлено 15 Апрель 2015 - 10:43
Подскажите как выдернуть из даты только время и передать его в другую таблицу.
#37
Отправлено 15 Апрель 2015 - 12:18
$time = substr(11, $line['Дата']); // время полностью
$time = substr(11, 5, $line['Дата']); // время без секунд
#38
Отправлено 16 Апрель 2015 - 09:31
#39
Отправлено 20 Май 2015 - 12:05
Цитата
$line['Возраст'] = floor((time() - strtotime($line['Дата рождения'])) / (86400*365.25));
Пробую внедрить ту же функцию, но что-то не получается. Не считает в карточке.
В поле Возраст (Число) не дает выбрать нужное вычисление "Возраст животного", хотя в списке Вычислений оно есть
Тем не менее значки php есть https://yadi.sk/i/vqTjxZPzgkXEp
Подскажите, что делаю не так?
P.S. Я только начинаю, возможно, где-то туплю )
Количество пользователей, читающих эту тему: 9
0 пользователей, 9 гостей, 0 анонимных