gpt4 book ai didi

c# - PayPal 日期时间 (payment_date) 解析问题

转载 作者:太空狗 更新时间:2023-10-29 17:31:39 25 4
gpt4 key购买 nike

PayPal 发送付款 datetime 如下:

09%3A37%3A22+Nov+18%2C+2012+PST

我尝试通过此代码转换它但出现异常。

关于如何解析它的任何线索?

谢谢!

DateTime paymentDate;
DateTime.TryParse(WebUtility.HtmlDecode(r["payment_date"]), out paymentDate);
n.PaymentDate = paymentDate; // payment_date=09%3A37%3A22+Nov+18%2C+2012+PST

最佳答案

PayPal 的文档中有多种日期时间格式。我使用这种方法来解析它,并将其转换为 UTC:

/// <summary>
/// Tries to parse PayPal formatted date and time and converts it to an UTC.
/// </summary>
public static bool TryParsePaypalDatetimeToUtc(this string paypalDatetime, out DateTime retValue)
{
DateTime paymentDate;

// PayPal formats from docs
string[] formats = new string[] { "HH:mm:ss dd MMM yyyy PDT", "HH:mm:ss dd MMM yyyy PST",
"HH:mm:ss dd MMM, yyyy PST", "HH:mm:ss dd MMM, yyyy PDT",
"HH:mm:ss MMM dd, yyyy PST", "HH:mm:ss MMM dd, yyyy PDT" };
if (false == DateTime.TryParseExact(paypalDatetime, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out paymentDate))
{
retValue = DateTime.MinValue;
return false;
}

retValue = TimeZoneInfo.ConvertTimeToUtc(paymentDate, TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time"));

return true;
}

关于c# - PayPal 日期时间 (payment_date) 解析问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445510/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com