-6

可能重复:
使用 php 将日期时间添加一年

支付日期:2012-10-19 13:13:20

任期:(3三年)

我需要将这两个值转换为一个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 年和今天转换为 unix 时间戳,如果续订日期小于今天,则订阅已过期。

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

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

假设 $term 是数据库中的整数,$paid 是 MySQL 数据库中的日期时间,转换为 unix 时间戳(从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 回答