私はPayPalを見ていますIPN docs
、そしてそれはdatetime
彼らの文字列のスタンプが次のようにフォーマットされていると言います:
HH:MM:SS DD Mmm YY, YYYY PST
では、年は2回指定されますか?
2桁で1回、4桁でもう1回?
これは奇妙に見えます。
私はPayPalを見ていますIPN docs
、そしてそれはdatetime
彼らの文字列のスタンプが次のようにフォーマットされていると言います:
HH:MM:SS DD Mmm YY, YYYY PST
では、年は2回指定されますか?
2桁で1回、4桁でもう1回?
これは奇妙に見えます。
これはドキュメントのバグのようです。実際の形式は「HH:MM:SS Mmm DD, YYYY PST」(例:「2017 年 4 月 19 日 08:30:06 PDT」)です。
php の場合、構文は次のとおりです。date("G:i:s M m, Y T");
実際には PHP では、 date("Ymd\TH:i:s\Z") を使用する必要があります。2012-04-30T00:05:47Z のような結果になります -- urlencoded と non の違いに気づきませんでした。
皆さんはどこでこの情報を見つけていますか? この情報は彼らのドキュメントではとらえどころがなく、探したり試したりするのに 1 時間か 2 時間かかりました。この形式が見られる唯一の場所は TIMESTAMP フィールドです。CreateRecurringPaymentsProfile の PayPal NVP API の PROFILESTARTDATE と「サブスクリプションの開始日は有効である必要があります」というエラーに苦労しています。
これは彼らのドキュメントによると正しい形式です - 2010-03-27T12:34:49Z だからそれは - YYYY-MM-DDTHH:MM:SSZ (私は真ん中の T と Z が何であるかわかりませんが、それは定数ですすべての日付について) Java で PayPal NVP ライブラリを作成したので、それがどのように機能するかを確認したり、使用したりしたい場合は、大歓迎です。それはsourceforgeにあります-payapal-nvp.sourceforge.net
実際、正しい形式は次のとおりだと思います: yyyy-MM-ddTHH:MM:ssZ
ケースは重要です。