1

描述:

我正在做购买功能,每当用户购买时,它都会在我的网站访问特殊页面上添加1个月的特权。我收到了一些用户的投诉,请阅读问题部分。

问题:

在 500 个用户中,很少有用户,例如:今天购买,但到期日倒退,1 或 2 天,甚至几个月。例如:他于 2010 年 8 月 3 日购买,到期日为 2010 年 5 月 25 日。

我的PHP代码:

我用来在插入 mysql 数据库之前添加 1 个月的代码是:

// I already set the default timezone
$expiryDate = date("Y-m-d H:i:s",strtotime("+1 month"));

不知道是不是代码错了,是我的服务器错了,还是第三方支付网关错了,请指教如何解决。

!重要的问题!

哪些可能的原因会导致到期日期倒退?

4

2 回答 2

0

如果您将到期时间作为日期或日期时间字段存储在数据库中,那么您应该在那里进行更新:

UPDATE table SET expiry=DATE_ADD(expiry, INTERVAL 1 MONTH) WHERE ...;

完整的细节在这里

于 2010-08-06T03:32:38.683 回答
0

使用+1 monthwith有问题strtotime,功能文档页面有一些解决方法。但是,如果我是你,我会使用 Zend_Date 等经过测试的库。您可以按照建议使用 sql,但我猜那会偏离您组织数据库特定代码的方式。

于 2010-08-06T06:11:14.073 回答