PHP日期/时间帮助/

时间:2011-01-14 18:35:13

标签: php

$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 />'; 

3 个答案:

答案 0 :(得分:2)

您应该尝试使用PHP函数

的DateTime :: DIFF()

也称为

date_diff()

这将为您提供时间上的差异,您可以更轻松地将其解析为数月和数年。

阅读本文以获取更多信息:

http://www.php.net/manual/en/datetime.diff.php

答案 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美元。