之间的区别我做了这个,需要一些帮助调整,以便它给出了正确的结果发现2个日期
function daysDifference($end){
//$start = "2007-03-24";
//$end = "2009-06-26";
$now = date("Y-m-d");
$e = (is_string($end) ? strtotime($end) : $end);
$diff = abs($e - strtotime($now));
$years = floor($diff/(365 * 60 * 60 * 24));
$months = floor(($diff - $years * 365 * 60 * 60 * 24)/(30 * 60 * 60 * 24));
$days = floor(($diff - $years * 365 * 60 * 60 * 24 - $months * 30 * 60 * 60 * 24)/ (60 * 60 *24));
return ($years == 0 ? '' : ($years == 1 ? $years . ' year ' : $years . ' years ')) . ($months == 0 ? '' : ($months == 1 ? $months . ' month ' : $months . ' months ')) . ($days == 0 ? '' : ($days == 1 ? $days . ' day ' : $days . ' days '));
}
$end
正从我的数据库中抽取所以检查,看看它的字符串或一个日期已经。
$e
现在可以使用,但是当我试图从$e
减去$now
我得到有趣的结果
例如:
$now
是今天13th
和$e
是一个项目的结束日期,这是假设给我我需要的......对吧?
我想要说12天剩余时间,我得到1年12天。
和$e = 0000-00-00
(如果用户没有输入结束日期),我会获得40年10个月和26天的余额。
我尝试了很多不同的变化,我的计算,但我一直无处可去。
我的PHP技能是适中的,重新发明轮子随着那个笑声。 date_diff嗯。我会仔细看看!感谢 – Eli 2010-11-14 06:41:52
@ s2xi,只要你想做一个通用函数,首先在php.net上查找它,你可能会感到惊讶! – 2010-11-14 06:42:51