Предполагая, что часовой пояс вашей платежной системы фиксирован (даже если это не GMZ), все, что вам нужно сделать, - это конвертировать из часового пояса пользователя в GMT, когда вы имеете дело с пользователями, и из GMT в часовой пояс платежной системы, когда вы имеете дело с платежомsystem.
Таким образом, ваш пользователь - PST, ваша система часовых поясов - EST, и вы находитесь в Англии (или, по крайней мере, у вас GMT).
Пользователь регистрируется на 1 месяц 31.12.2010 в 23:00 (23:00) PST.
PST - это GMT - 8, а EST - это GMT -5 (или это -7 и -4 ... Я регулярно путаю ST и DT ...).
по Гринвичу пользователь зарегистрирован 01.01.11 в 06:00 (6 утра).EST пользователь зарегистрирован 01.01.11 02:00 (2 часа ночи).
Как вы сказали, если вы скажете платежной системе об истечении срока действия пользователя в 31.01.11 в 23:00, она будет выглядеть так:EST и отправьте сигнал об истечении срока действия в 2/1/11 4 утра, что будет 1/31/11 20:00 PST, чтобы пользователь потерял 3 часа.
Но если вы скажете платежной системе, что пользователь истекаетв 2/1/11 2:00 по восточному времени, затем сигнал будет отправлен в 1/1/11 7:00 по Гринвичу, который является 31.01.2011 в 11:00 по тихоокеанскому времени.
Таким образом, вы ВСЕГДА имеете дело с каждым клиентомбудь то пользователь или удаленная система, в часовом поясе этой системы, при условии, что удаленный сайт не поддерживает GMT.