【发布时间】:2013-12-18 14:58:16
【问题描述】:
我正在对我的网站的后端进行编程(ASP.Net C# 框架 4.0)。我正在使用我的 PayPal IPN 监听器监听结果,它将更新我的后端数据库。
付款后,我想记录付款日期。我无法解析从 IPN 消息中提供给我的 payment_date 参数。它看起来像这样:
args["payment_date"]: 10:23:05 Dec 02, 2013 PST
下面的 try-parse 总是返回 false:
DateTime paymentDate = DateTime.UtcNow;
DateTime.TryParse(args["payment_date"], out paymentDate);
PST 代表太平洋标准时间,对吗?我读到美国一些使用 PST 的州将在一年中的某个时候改用 PDT(太平洋夏令时间)。
在我的数据库中,我想将所有 DateTimes 存储为 UTC。有没有办法让 PayPal 给我 UTC 的付款日期?还是我必须编写自己的解析器?如果是这样,除了从 PST 切换到 PDT 之外,我还有什么需要注意的吗?
也许您可能认为我应该只使用自己的服务器时间来记录付款日期,但我只是认为在实际 IPN 消息中使用 PayPal 自己提供的日期会更好。
【问题讨论】:
-
很高兴找到@PatrickQuirk - 不知道为什么我在寻找它时没有出现。
-
似乎很遗憾,我不能只要求 PayPal 给我 UTC 的付款日期。同样根据this answer PayPal 使用几种日期时间格式。多么不体谅他们。
标签: c# asp.net paypal paypal-ipn