【发布时间】:2011-12-27 11:26:24
【问题描述】:
我正在使用 Paypal Adaptive Payments 设置应用程序。
我目前正在实现对 Preapproval 的调用,并且规范说 StartDate 不能早于今天。
考虑到这一点......他们在哪个时区验证这一点?
API SDK 在示例中有这个:
$currDate = getdate();
$startDate = $currDate['year'].'-'.$currDate['mon'].'-'.$currDate['mday'];
$startDate = strtotime($startDate);
$startDate = date('Y-m-d', mktime(0,0,0,date('m',$startDate),date('d',$startDate),date('Y',$startDate)));
$endDate = add_date($startDate, 1);
但是,根据发送请求的服务器的时区,该日期可能会有所不同。
有人对如何确保不会发生任何问题有任何想法吗?
使用赏金编辑:
截至 12 月 15 日,我们现在已将此视为错误。我们使用的是 UTC 时间,一旦 UTC 时间开始新的一天,付款就会开始失败。
我在以下地方使用了上面的代码:
$preapprovalRequest->startingDate = $startDate;
$preapprovalRequest->endingDate = $endDate;
我需要什么来完成这项工作?
编辑 2:
是的,时区设置为 UTC,我们故意这样做,以便我们数据库中的所有时间信息都存储在没有时区的情况下。
基本上我想弄清楚如何指定我发送到 Paypal 的日期是 UTC,而不是他们碰巧在的任何时区。
编辑 3:
有 API,上面写着以下内容
startingDate 和endingDate 可以是eiter Zulu 或GMT 偏移量 格式。如以下各个示例中所示: 2010-09-10Z 2010-09-10T17:24:03.874-07:00
基本上我需要上面的代码来输出类似指定我正在使用 UTC...
【问题讨论】: