2012-05-02 18 views
0

2つの日付フィールドの間の日数を見つけることは可能ですか?現在の日付から前の日付を引いて日数を見つける方法

30日以内にユーザーがログインしない場合は、そのユーザーを削除したいと考えています。すべてのログイン時に login_dateフィールドが更新されます。

私は2つのフィールドlogin_datecurrent_date を差し引いて答えが30か30より大きい場合、そのユーザーを削除します。

私はphpで新規であり、助けが必要です.. 私はlocalhostで作業しています。

答えて

1

こんにちはこの機能を試してみると、2つの日付の間の日数が表示されます。

function dateDiff($start, $end) { 

    $start_ts = strtotime($start); 

    $end_ts = strtotime($end); 

    $difference = $end_ts - $start_ts; 

    return round($difference/86400); 

} 

おかげ

2

あなたはタイムスタンプ形式を使用している場合 - あなたは条件を使用することができます。

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

あなたは日時書式を使用している場合 - あなたは、関数のstrtotime

3

とタイムスタンプには、このフォーマットを変換することができ、私は日時およびDateIntervalオブジェクトを使用することをお勧め。

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

は、2つの日付の間の正確な日数を返します後よりPHP DateTime::diff manual

1

をお読みください。

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

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

この情報がお役に立てば幸いです。

関連する問題