Оставшееся время между двумя разами - PullRequest
0 голосов
/ 06 марта 2019

У меня есть time data в базе данных, я записываю время с функцией time() (значение 1551866538) в базе данных, и я хочу записать оставшееся время php в течение 1 дня, но как 24 часа. Я пробую функцию date_diff(), но каждый раз получаю ошибку, спасибо за помощь.

$mysqltime = $data->registerdate; // 1551866538
$now = time();

$remainingtime = $now - $mysqltime; // I want show as hour

Ответы [ 3 ]

0 голосов
/ 06 марта 2019
<?php 

// Declare and define two dates 
$date1 = strtotime("2016-06-01 22:45:00");  
$date2 = strtotime("2018-09-21 10:44:01");  

// Formulate the Difference between two dates 
$diff = abs($date2 - $date1);  


// To get the year divide the resultant date into 
// total seconds in a year (365*60*60*24) 
$years = floor($diff / (365*60*60*24));  


// To get the month, subtract it with years and 
// divide the resultant date into 
// total seconds in a month (30*60*60*24) 
$months = floor(($diff - $years * 365*60*60*24) 
                               / (30*60*60*24));  


// To get the day, subtract it with years and  
// months and divide the resultant date into 
// total seconds in a days (60*60*24) 
$days = floor(($diff - $years * 365*60*60*24 -  
             $months*30*60*60*24)/ (60*60*24)); 


// To get the hour, subtract it with years,  
// months & seconds and divide the resultant 
// date into total seconds in a hours (60*60) 
$hours = floor(($diff - $years * 365*60*60*24  
       - $months*30*60*60*24 - $days*60*60*24) 
                                   / (60*60));  


// To get the minutes, subtract it with years, 
// months, seconds and hours and divide the  
// resultant date into total seconds i.e. 60 
$minutes = floor(($diff - $years * 365*60*60*24  
         - $months*30*60*60*24 - $days*60*60*24  
                          - $hours*60*60)/ 60);  


// To get the minutes, subtract it with years, 
// months, seconds, hours and minutes  
$seconds = floor(($diff - $years * 365*60*60*24  
         - $months*30*60*60*24 - $days*60*60*24 
                - $hours*60*60 - $minutes*60));  

// Print the result 
printf("%d years, %d months, %d days, %d hours, "
     . "%d minutes, %d seconds", $years, $months, 
             $days, $hours, $minutes, $seconds);  
?>

Выход:

2 years, 3 months, 21 days, 11 hours, 59 minutes, 1 seconds

Ссылка

0 голосов
/ 06 марта 2019

Вы также можете использовать класс DateTime, как показано ниже:

$today      = new DateTime('now');
$tomorrow   = new DateTime(date('Y-m-d H:i:s', '1551866538'));
$difference = $today->diff($tomorrow);

echo $difference->format('%h hours %i minutes remaining');

Выход

1 hours 42 minutes remaining
0 голосов
/ 06 марта 2019
$mysqltime = $data->registerdate; // 1551866538
$now = time();

$remainingtime = $now - $mysqltime;
echo $hours = round($remainingtime / (60 * 60)); // hours
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...