PHP, nasıl ben 3 ay iPhone InApp alınmasından alınan satın alma tarihi eklerim?

2 Cevap php

Ben PHP sunucudan App Store karşı makbuz doğrulandıktan sonra, App Store ile bir JSON yanıt bana geri gönderir

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

Makbuz öğelerinden biri aşağıdaki dize (örnek) "2010-02-09 19:17:04 Etc / GMT" içeriyor "purchase_date" dir

Ben bir abonelik hizmeti kurmaya çalışıyorum ve bu tarihten 3 ay eklemek ve daha sonra bir MySQL tabloya ki son kullanma tarihini yazmak istiyorum.

Bana 3 ay ekleyerek ulaşmak için izin verebilirsiniz PHP bir dize-to-date tipi işlevi var mı?

Ben bir tarihe 1 ay ekler gibi görünüyor hangi bu örnek bulduk:

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

Ama ben bir PHP tanınan tarihini içine App Store tarafından geçirilen dize açabilirsiniz nasıl emin değilim.

2 Cevap

Zaten sadece çok bir adım ekledi, bunu yaptım.

$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);

Bu bağlıdır strtotime zaman dize recoginzing - Önce bunu deneyin. Ama genellikle, strtotime herhangi düzgün biçimlendirilmiş anglo-amerikan tarih / zaman dize tanıyabilir. Şüpheniz varsa, manual kontrol edin.

Skaler bir değer olarak zaman tedavi etmeyin - Bu çok daha kompleks bulunuyor. Ben size verileri depolamak için bir birini kullanmak şartıyla, kendi veritabanına bu mantığı itmek öneririm? Alternatif olarak, PHP son sürümleri kullanılabilecek, bir datetime object vardır.