PHP计算通过MySQL剩余的总天数

时间:2012-01-05 22:01:21

标签: php datetime

我的MySQL结构:

startdate
2012-01-01 04:00:00
enddate
2012-12-05 21:55:00

我的PHP

$startDate=row['startdate'];
$endDate=row['enddate]';

$days="";
$days=date("Y-m-d H:i:s");
$days=($startDate-$endDate);
echo $days;

3 个答案:

答案 0 :(得分:4)

试试这个简单的单行:

<?php
    echo round((strtotime($row['enddate'])-strtotime($row['startdate']))/86400);
?>

您可以在http://php.net/manual/en/function.strtotime.php处查看strtotime()的PHP手册。

答案 1 :(得分:1)

  1. 为什么不使用DATE_DIFF,一个内置的MySQL函数?
  2. 如果你想坚持使用PHP:首先在两个日期使用strtotime()(转换为unix时间戳),然后减去,然后格式化。

答案 2 :(得分:0)

您可以使用 strtotime()函数将开始日期和结束日期转换为秒,从结束日期减去开始日期,然后使用一些数学运算将秒数转换为天数,以及最后使用 floor()功能的天数完成。这是我编写和测试的一些代码。

<?php
$startDate = row['startdate'];
$endDate = row['enddate]';
$seconds_left = (strtotime($endDate) - strtotime($startDate));
$days_left = floor($seconds_left / 3600 / 24);
echo $days_left;
?>