• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

PHP: разность между двумя датами

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

Даты находятся в формате date("Y-m-j H:i:s");

$data - теперешняя дата
$data_f_on - другая дата (которая меньше теперешней)
Надо найти разницу между $data и $data_f_on
Код:
$razd_data = ": -"; 
$dat_f= strtok($data, $razd_data); 
$data_l_1=""; 
while ($dat_f){ 
$data_l_1="$data_l_1"."$dat_f"; 
$dat_f = strtok($razd_data); 
} 

$dat_f= strtok($data_f_on, $razd_data); 
$data_l_2=""; 
while ($dat_f){ 
$data_l_2="$data_l_2"."$dat_f"; 
$dat_f= strtok($razd_data); 
} 
$data_r_l=$data_l_1-$data_l_2; 


print "$data_l_1-$data_l_2=$data_r_l";
На выходе получается такое:

2004027144524-20040207141858=-18036179997334

Пробовал копированием делать "проверку" на Калькуляторе Виндовса... Такой же поганый результат..
Но вот когда я в том же калькуляторе НАБИРАЮ эту разницу - результат нормальный...

В чём трабла? И есть ли возможность решить её каким-нить другим методом?
 
A

admin

Анципорович П.П.
Так ведь у тебя эти два числа разной размерности -
так чтодля месяцев, дней, часов, минут, секунд делай подобную проверку для каждого

if ($day < 10) { $day = "0" . $day; }

тогда должно работать
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!