Webアプリケーションでの日付と時刻の処理について質問があります。アプリケーションは毎月のサブスクリプションを販売します。クライアントがサブスクリプションを購入およびキャンセルした場合にのみ日付が表示されます。クライアントは月の半ばに追加のサービスを購入できます。アプリケーションは、クライアントの記念日まで請求する比例配分を計算します。
日付/時刻をUTCで保存します。これは米国のクライアント専用です。
次のオプションを検討しています。経験豊富な開発者からフィードバックをもらいたいと思います。
1-常にESTに日付を表示します。すべてのサブスクリプションがESTを使用していることを説明する小さなキャプションを含めることができます。クライアントのタイムゾーンを処理する必要がないため、これは簡単です。しかし、これによってクライアントが延期されるかどうかはわかりません。何かご意見は?
2-常にEDTで日付を表示します。これを使用する理由を説明するのは難しいので、これはおそらくうまく機能しないでしょう。ただし、ESTよりも処理が簡単だと思います。
3-クライアントがサービスにサインアップするときにクライアントのタイムゾーン情報を要求し、その情報を使用します。これでそれほど複雑になることはないと思いますが、タイムゾーンを変更するオプションを提供する必要があり、タイムゾーンが変更されたときに既存のサブスクリプションをどうするかを決定する必要があります。このオプションを使用する場合は、ドロップダウンリストからタイムゾーンを選択するようにクライアントに依頼します。
4-クライアントの場所(市と州)を尋ね、自分でタイムゾーンを計算します。
5-クライアントのIPまたは別の方法(アイデア???)に基づいてクライアントのタイムゾーンを推測してみてください。
オプション3、4、および5は、おそらく最もユーザーフレンドリーです。オプション1は、実装するのが最も簡単なようです。
長い投稿でごめんなさい。時間をかけて読んだら、もう少し時間をかけて考えや経験を共有していただけませんか。
ありがとうございました。
更新1-2011年9月3日-17:08MST
PayPalがPDTを使用してトランザクションを記録し、PayPalにサインアップしたときに設定したクライアントのローカルタイムゾーンを使用してそれらをクライアントに表示することがわかりました。
私は今、次のことに傾倒しています。
1-PDTを使用して現在の日付を表示します(PayPalに合わせるため)-おそらく、日付と時刻のPDTを表示するようにコードを変更します。現在、日付のみを表示しています。時間を見せれば、クライアントにとってより明確になると思います。
2-記念日は表示しません。PayPalに処理させます。毎月の請求であると簡単に述べておきます。
3-クライアントが新しいサービスを追加するとき、私はPDTを使用して比例配分を計算し、タイムゾーンの違い(提案してくれた以下のRobert Levyに感謝)とPayPal処理(私はしません)を考慮して3日間の猶予期間を与えます彼らが彼らの通常の月額料金からほんの数日であるならば、彼らに比例した金額を請求したいです)。
何かご意見は?
アップデート2-2011年9月3日-21:01MST
簡単な更新。さらに調査した結果、PayPalから取引日が返送されていることがわかりました。クライアントがPayPalで支払い、確認を受け取るまで、日付は表示されません。クライアントの領収書にPayPalの取引日を表示します。
計画のようだ。どう思いますか?