2011-01-14 95 views
1

我应该知道$years$months的值应该是0而不是0然而有人会告诉我我的代码有什么问题吗?而我需要解决的是什么?PHP日期/时间帮助/

我想减去两个日期。

这是我的PHP代码。

$delete_date = "2000-01-12 08:02:39"; 
$current_date = date('Y-m-d H:i:s'); //current date 

$diff = abs(strtotime($current_date) - strtotime($delete_date)); 

$years = floor($diff/(365*60*60*24)); 
$months = floor(($diff - $years * 365*60*60*24)/(30*60*60*24)); 

echo $current_date . '<br />'; 
echo $delete_date. '<br />'; 
echo $diff. '<br />'; 
echo $years. '<br />'; 
echo $months. '<br />'; 
+0

我得到价值11为$年 – shankhan 2011-01-14 18:45:19

+0

我得到11年零个月,当我运行此代码。 – 2011-01-14 18:48:46

回答

0

注意,你并不需要这样做:

$current_date = date('Y-m-d H:i:s'); 
$diff = abs(strtotime($current_date) - strtotime($delete_date)); 

你可以只是这样做:

$diff = abs(time() - strtotime($delete_date)); 
0

$月为零,因为

的结果

($存在 - $年*(60 * 60 * 24 * 365))/(60 * 60 * 24)= 5.4510763888889

这意味着只有5天。然后当你试图让这5天的月份给你的结果为0.18176195987654

楼(0.18176195987654)肯定会给你0个月。毫无疑问在它。

然后我得到11美元作为其他人告诉11年。