2

PHP サーバーから App Store に対してレシートを検証した後、App Store から JSON 応答が返されます。

"status" : 0 
"receipt" : ( .... )

レシート項目の 1 つは、次の文字列を含む「purchase_date」です (例) 「2010-02-09 19:17:04 Etc/GMT」

サブスクリプション サービスを確立しようとしており、この日付に 3 か月を追加してから、その有効期限を MySQL テーブルに書き込みたいと考えています。

PHP に 3 か月の追加を可能にする string-to-date 型関数はありますか?

日付に 1 か月を追加するように見えるこの例を見つけました。

$date = date("Y-m-d");// current date
$date = strtotime(date("Y-m-d", strtotime($date)) . " +1 month");

しかし、App Store から渡された文字列を PHP で認識される日付に変換する方法がわかりません。

4

2 に答える 2

11

あなたはすでにそれを行っています.1つのステップを追加しただけです.

$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 は適切にフォーマットされた英米の日付/時刻文字列を認識できます。疑問がある場合は、マニュアルを確認してください。

于 2010-02-21T12:53:47.930 に答える
0

時間をスカラー値として扱わないでください-それよりもはるかに複雑です。データの保存に使用する場合は、このロジックをデータベースにプッシュすることをお勧めしますか?または、最近のバージョンのPHPには、使用可能な日時オブジェクトがあります。

于 2010-02-21T18:25:39.670 に答える