如何通过从当前日期减去上一个日期来查找天数

时间:2012-05-02 08:48:54

标签: php

是否可以找到两个日期字段之间的天数。

如果用户未在30天内登录,我想删除该用户。 每次登录login_date字段都会更新。

我想减去两个字段login_datecurrent_date 如果答案是30或大于30,它将删除该用户。

我是php新手,需要帮助.. 我正在使用localhost。

4 个答案:

答案 0 :(得分:3)

我建议使用DateTime和DateInterval对象。

$date1 = new DateTime("2007-03-24");
$date2 = new DateTime("2009-06-26");
$interval = $date1->diff($date2);
echo "days difference ".$interval->d." days "; 

阅读更多php DateTime::diff manual

答案 1 :(得分:2)

如果您使用时间戳格式 - 您可以使用条件:

$month = 30*86400; 
if ($current_date - $login_date > $month){
    delete_user();
}

如果您使用日期时间格式 - 您可以使用函数strtotime

将此格式转换为时间戳

答案 2 :(得分:1)

以下将返回两个日期之间的确切天数。

$last_login_date = "2012-04-01";
$current_date = "2012-04-30";

echo "Days: ".round(abs(strtotime($current_date)-strtotime($last_login_date))/86400);

希望这有帮助。

答案 3 :(得分:1)

您好,尝试此功能可获得两个日期之间的天数。

function dateDiff($start, $end) {

  $start_ts = strtotime($start);

  $end_ts = strtotime($end);

  $difference = $end_ts - $start_ts;

  return round($difference / 86400);

 }

感谢