我有一个关于处理日期和问题的问题我的网络应用程序的时间。该应用程序将出售每月订阅。它仅在客户购买和取消订阅时显示日期。客户可以在月中购买额外的服务。应用程序计算按比例向客户收取费用,直到他的周年纪念日为止。
我将以UTC格式存储日期/时间。它仅适用于美国客户。
我正在考虑以下选项,我希望得到更有经验的开发人员的反馈意见:
1 - 始终在EST中显示日期。我可以包含一个小标题,说明所有订阅都使用EST。这很简单,因为我不必处理客户的时区。但是我不太确定客户是否会因此被推迟。有什么想法吗?
2 - 始终在EDT中出现日期。这可能不会很好,因为更难以解释使用它的原因。但是我相信它比EST更容易处理。
3 - 在他注册服务并使用该信息时询问客户的时区信息。我不认为这会增加太多的复杂性,但是我必须为他们提供一个更改时区的选项,当时区发生变化时,我将不得不决定如何处理现有的订阅。如果我选择此选项,我会要求客户从下拉列表中选择时区。
4 - 询问客户的位置(城市和州)并自己计算时区。
5 - 尝试根据他的IP或其他方法猜测客户的时区(想法???)。
选项3,4和5可能是最用户友好的。选项1似乎是最直接的实现。
对不起,很长的帖子。如果你花时间阅读它,你会介意多花一点时间分享你的想法和经验吗?
谢谢。
刚刚发现PayPal使用PDT记录交易,并使用他们在使用PayPal注册时设置的客户端本地时区向客户端显示交易。
我现在倾向于:
1 - 使用PDT显示当前日期(与PayPal对齐) - 我可能会更改代码以显示日期&时间PDT。目前我只显示日期。我相信如果我也展示时间,客户会更清楚。
2 - 我不会显示周年纪念日。我会让PayPal处理这个问题。我只想说它是按月计费。
3 - 当客户添加新服务时,我将使用PDT按比例计算,我将给他们一个三天的宽限期来计算时区差异(感谢下面的Robert Levy建议)和PayPal处理(I如果他们只是每月定期收费的几天,就不想按比例向他们收取费用。
有什么想法吗?
快速更新。经过进一步研究后,我发现PayPal确实向我发送了一个交易日期。在客户以PayPal付款并收到确认之前,我不会显示任何日期。我将在客户的收据中显示PayPal的交易日期。
听起来像一个计划。你觉得怎么样?
答案 0 :(得分:2)
只需从UTC添加24小时的宽限期。易于编码,无需额外的用户界面,也不会让任何客户感到不安。