$years
和$months
的值为0时,如果有其他值,那么有人可以告诉我我的代码出错了吗?我需要解决什么?
我正在尝试减去两个日期。
这是我的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 :(得分:2)
您应该尝试使用PHP函数
的DateTime :: DIFF()
也称为
date_diff()
这将为您提供时间上的差异,您可以更轻松地将其解析为数月和数年。
阅读本文以获取更多信息:
答案 1 :(得分:0)
注意,您不需要这样做:
$current_date = date('Y-m-d H:i:s');
$diff = abs(strtotime($current_date) - strtotime($delete_date));
你可以这样做:
$diff = abs(time() - strtotime($delete_date));
答案 2 :(得分:0)
$ month为零
($ diff - $ years *(60 * 60 * 24 * 365))/(60 * 60 * 24)= 5.4510763888889
这意味着只有5天。那么当你试着按月计算这5天给你的结果为0.18176195987654
楼层(0.18176195987654)肯定会给你0个月。毫无疑问。然后我就像其他人所说的那样获得了11美元。