PHP DateTime,付费日期+一年期限

时间:2012-10-31 21:16:28

标签: php mysql date datetime

  

可能重复:
  add one year to datetime with php

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

术语:3(三年)

我需要将这两个值转换为DateTime,然后我可以将其与今天的日期进行比较,并查看订阅是否即将续订。

不确定如何正确完成此操作......

我试过了:

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

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

但显然在这种情况下,所有日期都不到......

3 个答案:

答案 0 :(得分:0)

将日期转换为时间戳,并将其与今天的时间戳进行比较;如果差异超过3年,则订阅即将耗尽。

答案 1 :(得分:0)

将付费+ 3年及今天转换为unix时间戳,如果续订日期少于今天,则订阅已过期。

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

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

假设$ term是数据库中的一个整数,$ paid是从MySQL数据库转换为unix时间戳的日期时间(选择unix_timestamp(付费)从paytable支付)。

答案 2 :(得分:0)

如果您将付款日期作为字符串:

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

如果您将付款日期作为时间戳:

if(strtotime("+3 years", $paidDate) > time()) {
     // expired
}