2012-05-22 61 views
0

未来时间:2012-05-26 00:00:00如何获得小时和分钟?

应该有三个变量:$hour $minute $second

现在,我想用未来的时间减去现在的时间。然后给左边的小时$hour,给左边的分钟$minute,给左边的第二个$second

我很抱歉,我是新的PHP,现在我陷入困境如何做数学运算?谢谢

日期和时间
+1

阅读[手册](http://www.php.net/manual/en/datetime.diff.php)或[使用搜索功能](http://stackoverflow.com/questions/) 365191/how-to-get-time-in-minutes-in-php) – PenguinCoder

回答

0

以下是小时,分钟的差异的数学运算和秒

$future_datetime = '2012-05-26 00:00:00'; 
$future = strtotime($future_datetime); //future datetime in seconds 
$now_datetime = date('Y-m-d H:i:s'); 
$now = date('U'); //now datetime in seconds 

//The math for calculating the difference in hours, minutes and seconds 
$difference = $future - $now; 
$second = 1; 
$minute = 60 * $second; 
$hour = 60 * $minute; 
$difference_hours = floor($difference/$hour); 
$remainder = $difference - ($difference_hours * $hour); 
$difference_minutes = floor($remainder/$minute); 
$remainder = $remainder - ($difference_minutes * $minute); 
$difference_seconds = $remainder; 
echo "The difference between $future_datetime and $now_datetime is $difference_hours hours, $difference_minutes minutes and $difference_seconds seconds"; 
+0

非常感谢,为什么要加$ second = 1;谢谢 – run

+0

只是为了让你更容易理解这个概念:) 你可以用'$ minute = 60' – ephemeron

1

检查date_diff功能。这里有你要问的问题的确切解决方案。

here's the page (DateInterval::format)记录如何格式化输出。

$now = date_create(); 
// use "now" and necessary DateTimeZone in the arguments 
$otherDate = date_create('2020-04-13'); 
$interval = date_diff($now, $futureDate); 
echo $interval->format('%a days');