0

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

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

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

我是 php 新手,需要帮助.. 我在 localhost 上工作。

4

4 回答 4

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 手册

于 2012-05-02T08:51:58.237 回答
2

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

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

如果您使用日期时间格式 - 您可以使用函数 strtotime 将此格式转换为时间戳

于 2012-05-02T08:51:26.727 回答
1

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

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

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

希望这可以帮助。

于 2012-05-02T08:56:33.467 回答
1

嗨,试试这个函数会得到两个日期之间的天数。

function dateDiff($start, $end) {

  $start_ts = strtotime($start);

  $end_ts = strtotime($end);

  $difference = $end_ts - $start_ts;

  return round($difference / 86400);

 }

谢谢

于 2012-05-02T08:57:28.253 回答