描述:
我正在做购买功能,每当用户进行购买,它会增加一个月的特权,我访问我的网站的特殊页面。我收到了一些用户的投诉,请阅读问题部分。
问题:
在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"));
我不确定是代码错误,我的服务器错误,还是第三方支付网关错误,请告诉我如何解决它。
!重要的问题!
可能的原因是什么,会导致到期日倒退?
发布于 2010-08-06 03:32:39
如果您在数据库中将过期时间存储为日期或日期时间字段,那么您应该在那里进行更新:
UPDATE table SET expiry=DATE_ADD(expiry, INTERVAL 1 MONTH) WHERE ...;
完整的详细信息here。
发布于 2010-08-06 06:11:14
在strtotime
中使用+1 month
有一些问题,在函数文档页面上有一些解决方案。然而,如果我是你,我会使用像Zend_Date这样的经过测试的库。您可以按照建议使用sql,但我将猜测这将与您组织特定于DB的代码的方式不同。
https://stackoverflow.com/questions/3420838
复制相似问题