从我的PHP服务器验证了App Store的收据后,App Store通过
向我发送了JSON响应"status" : 0
"receipt" : ( .... )
其中一个收据项是“purchase_date”,其中包含以下字符串(示例)“2010-02-09 19:17:04 Etc / GMT”
我正在尝试建立订阅服务,并希望在此日期添加3个月,然后将该到期日期写入MySQL表。
PHP中是否有一个字符串到日期类型的函数可以让我实现3个月的添加?
我找到了这个例子,看起来它增加了1个月的日期:
$date = date("Y-m-d");// current date
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");
但我不确定如何将App Store传递的字符串转换为PHP识别日期。
答案 0 :(得分:11)
你已经完成了,你刚刚添加了一步太多了。
$purchase_date = "2010-02-09 19:17:04";
$purchase_date_timestamp = strtotime($purchase_date);
$purchase_date_3months = strtotime("+3 months", $purchase_date_timestamp);
echo "Purchase date + 3months = ".date("Y-m-d h:i:s", $purchase_date_3months);
这取决于strtotime
识别你的时间字符串 - 首先尝试一下。但通常情况下,strtotime可以识别任何格式正确的英美日期/时间字符串。如有疑问,请查看manual。
答案 1 :(得分:0)
不要将时间视为标量值 - 它要复杂得多。我建议您将此逻辑推送到您的数据库中,前提是您使用一个存储数据?或者,最新版本的PHP有datetime object,可以使用。