我正在使用外部API,该API以“ 2019/02/13 05:00 PST”格式返回包含日期信息的json响应。当合同解析器尝试将字符串转换为DateTime时,就会出现问题。
我正在使用我们.NetCore 2.2的环境
我无法解决问题。
我发现的最佳解决方案是: DateTime.Parse(“ 2019/02/13 05:00 PST” .Replace(“ PST”,“ +2”))
但这似乎并不是解决问题的好方法。
感谢您提供的所有帮助
答案 0 :(得分:0)
没有正确的方法。时区的缩写不是唯一的。例如CST:
- China Standard Time (UTC+8)
- Central Standard Time (UTC-6)
- Cuba Standard Time (UTC-5)
因此,如果您的外部API返回的内容类似
"2019/02/13 05:00 CST"
您期望什么时区?
如果您100%确保API仅返回美国时区,则可以仅针对美国时区缩写编写解析器。并以与您相同的方式替换它们。
但是:
您的示例看起来很奇怪。 PST的偏移量为-8,而不是+2。
潜在地,即使美国政府决定更改任何时区的偏移量,您的代码也可能即使在美国也无法正常工作。