我的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;
答案 0 :(得分:4)
试试这个简单的单行:
<?php
echo round((strtotime($row['enddate'])-strtotime($row['startdate']))/86400);
?>
您可以在http://php.net/manual/en/function.strtotime.php处查看strtotime()
的PHP手册。
答案 1 :(得分:1)
答案 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;
?>