[英]get time difference in hours minutes and seconds
I have two dates, 我有两个约会
$expiry_time = strtotime('comming from database');
$current_date = strtotime(date('Y-m-d H:i:s'));
$time_diff = ($expiry_time-$current_date)/(3600);
Here, $time_diff
will give me difference in hours. 在这里,
$time_diff
会给我小时的差异。 eg. 例如。 5.67.
5.67。 But, I want it in hours, minute and second format.
但是,我想要小时,分钟和秒的格式。 How can I achieve this?
我该如何实现? Thanks.
谢谢。
Use DateTime()
with DateInterval()
使用
DateTime()
和DateInterval()
$expiry_time = new DateTime($row['fromdb']);
$current_date = new DateTime();
$diff = $expiry_time->diff($current_time);
echo $diff->format('%H:%I:%S');
use the date() function. 使用date()函数。
$time_diff = $expiry_time - $current_date;
echo date('H:i:s', $time_diff);
http://php.net/manual/fr/function.date-diff.php也有很多有用的stuf来完成此操作
You should use the DateTime class but if you use PHP version older than 5.2 you can do it like that: 您应该使用DateTime类,但是如果您使用的PHP版本早于5.2,则可以这样做:
function convert_time_by_seconds($interval) {
if($interval < 0) {
return false;
}
$seconds_n_miliseconds = explode('.', $interval);
$interval = $seconds_n_miliseconds[0];
$hours = floor($interval / (60*60));
$minutes = floor(($interval - ($hours*60*60)) / 60);
$seconds = floor(($interval - ($hours*60*60)) - ($minutes*60));
$ms = empty($seconds_n_miliseconds[1]) ? 0 : $seconds_n_miliseconds[1];
return array('h' => $hours, 'm' => $minutes, 's' => $seconds, 'ms' => $ms);
}
$time_diff = time() - strtotime('2014-07-17 14:23:51');
$result = convert_time_by_seconds($time_diff);
var_dump($result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.