Как сделать так чтоб выводилось наподобии такого:
Питомец захочет есть через 1ч 59м 59с
Вот у меня идет в бд запись
mysql_query("INSERT INTO `pitomec_foots_r` (`id_user`, `food_raz`,`time`) VALUES ('$user[id]', '$korm','$time')")
И теперь нужно от реального время отнять то которое записалось в бд,и сравнить полученный результат,тоесть если он меньше 7200(это 2 часа в секундах) то выполнять один запрос,а если больше то другой.Это всё я могу сделать,но проблемма в слеедующем,как мне это вывести в браузер чтоб показать сколько времени осталось то нового кормления питомца.Только время нужно вывести не в секундах.А в формате 1ч 59м 59с
Facecontrol, // перевод времени в дни/часы/минуты/секунды от текущего времени
function makestime($string) {
$text = '';
if($string - time() > 86399){
$day = int( ( $string - time() )/86400 );
$text = $day.' дн. ';
}else{
$day = 0;
}
if( ($string - ($day * 86400)) - time() > 3599 ){
$hours = int( ( ($string - ($day * 86400)) - time() )/3600 );
$text .= $hours.' ч. ';
}else{
$hours = 0;
}
if( ($string - ($day * 86400) - ($hours * 3600)) - time() > 59 ){
$min = int( ( ($string - ($day * 86400) - ($hours * 3600)) - time() )/60 );
$text .= $min.' м. ';
}else{
$min = 0;
}
if( ($string - ($day * 86400) - ($hours * 3600) - ($min * 60)) - time() > 0 ){
$sec = int( ($string - ($day * 86400) - ($hours * 3600) - ($min * 60)) - time() );
$text .= $sec.' с. ';
}else{
$sec = 0;
}
return $text;
}
RuGamesMobile, не,для меня это сильно сложно пока,а проще можно как-то?
16 Мар 2013, 23:29IceJOKER, совершенно точно, туда отправляешь время окончания действия, а функция разбивает секунды на часы/минуты/секунды
16 Мар 2013, 23:47Я вот нашёл вот такой способ,для меня он проще.
<?php
// забирает текущее время в массив
$timestamp = time();
echo $timestamp;
echo '<p>';
$date_time_array = getdate($timestamp);
$hours = $date_time_array['hours'];
$minutes = $date_time_array['minutes'];
$seconds = $date_time_array['seconds'];
$month = $date_time_array['mon'];
$day = $date_time_array['mday'];
$year = $date_time_array['year'];
// используйте mktime для обновления UNIX времени
$timestamp = mktime($hours,$minutes,$seconds,$month,$day,$year);
echo $hours.'<b>:</b>'.$minutes.'<b>:</b>'.$seconds;
?>
Но есть проблемма,если я из бд беру данные(время) которое я туда записывал и вставляю вместо функции time() то у меня выводится время 3:0:0 хотя запись была совершена в другое время
добавлено спустя 15 минут:
Всё я разобрался всем спасибо