-6

重複の可能性:
phpを使用して日時に1年を追加

支払日:2012-10-19 13:13:20

任期: 3(3年)

これらの2つの値をに変換して、DateTime今日の日付と比較し、サブスクリプションが更新されるかどうかを確認する必要があります。

これを適切に達成する方法がわからない...

私はもう試した:

$term = $row['term'];   
$paid = $row['paid_date'];

$renew = strtotime("+$term years", $paid);
$today = strtotime('now');

しかし、どうやらこの状況では、すべての日付は未満です...

4

3 に答える 3

0

日付をタイムスタンプに変換し、今日のタイムスタンプと比較します。差が秒単位で3年を超える場合、サブスクリプションは不足しています。

于 2012-10-31T21:30:30.900 に答える
0

有料+3年と今日をunixtimestmpsに変換します。更新日が今日よりも短い場合、サブスクリプションは期限切れになっています。

$renew = strtotime('+'. $term .' years', $paid);
$today = strtotime('now');

If ($renew < $today) 
{
  //subscription has run out
}

$ termはデータベースからの整数であり、$ payedはUNIXタイムスタンプに変換されたMySQLデータベースからの日時であると想定します(paidtableから支払われるunix_timestamp(paid)を選択します)。

于 2012-10-31T21:35:25.140 に答える
0

文字列として支払日がある場合:

if(strtotime("2012-10-19 13:13:20 +3 years") > time()) {
     // expired
}

タイムスタンプとして日付を支払った場合:

if(strtotime("+3 years", $paidDate) > time()) {
     // expired
}
于 2012-10-31T21:37:09.367 に答える