PHP中剩余的天,小时和小数据

时间:2016-11-05 10:10:22

标签: php

我有来自数据库1496592689

的时间戳

问题是我不知道如何获得剩余的天数,小时数和分钟数

但我的代码如下:

这是我存储时间戳$db_user_timestamp

的变量

现在我现在有了这个时间$timenow = time();

我试图用

来计算它
$remainingtime = $db_user_timestamp - $timenow;

但我不知道如何把它放在几天,几小时和几分钟内。

先谢谢你帮助我:)。

4 个答案:

答案 0 :(得分:2)

<?php
$db_user_timestamp = 1496592689;
$difference = $db_user_timestamp - time();
echo "Day : ".$day = date('d',$difference);
echo "<br>Hour : ".$hour = date('H',$difference);
echo "<br>Minute : ".$minute = date('i',$difference);
?>

答案 1 :(得分:1)

如果你的PHP版本是5.3或最新版本,你应该检查 http://php.net/manual/en/class.dateinterval.phphttp://php.net/manual/en/datetime.diff.php

$datetime1 = new DateTime(date('Y-m-d H:i:s', $db_user_timestamp));
$datetime2 = new DateTime(date('Y-m-d H:i:s'));
$interval = $datetime1->diff($datetime2);
echo $interval->format('%y years %m months %d days %h hours %m minutes %s seconds');

答案 2 :(得分:1)

始终使用DateTime

$create_time = "1496592689";
$current_time = time();

$dtCurrent = DateTime::createFromFormat('U', $current_time);
$dtCreate = DateTime::createFromFormat('U', $create_time);
$diff = $dtCurrent->diff($dtCreate);

$interval = $diff->format("%y years %m months %d days %h hours %i minutes %s seconds");
$interval = preg_replace('/(^0| 0) (years|months|days|hours|minutes|seconds)/', '', $interval);

echo $interval;

结果

 6 months 30 days 5 hours 52 minutes

答案 3 :(得分:0)

使用日期(&#39; M / d / Y H:i:s&#39;,$ theTimestamp);会按照您想要的顺序给出日,月,年,小时,分钟,秒的日期(根据http://php.net/manual/en/function.date.php更改&#39; M / d / YH:i:s&#39;到你的字符串)