付费日期:2012-10-19 13:13:20
术语:3
(三年)
我需要将这两个值转换为DateTime
,然后我可以将其与今天的日期进行比较,并查看订阅是否即将续订。
不确定如何正确完成此操作......
我试过了:
$term = $row['term'];
$paid = $row['paid_date'];
$renew = strtotime("+$term years", $paid);
$today = strtotime('now');
但显然在这种情况下,所有日期都不到......
答案 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
}