解析指定时区的DateTime
当尝试解析包含时区缩写(例如“PST”或“UTC”)的国际日期时间字符串时,DateTime.ParseExact
可能会难以识别缩写。为了克服这个问题,请考虑将缩写替换为相应的偏移量。
使用CultureInfo
,您可以指定区域性,这会影响日期和时间值的解析。例如:
<code class="language-csharp">CultureInfo culture = CultureInfo.CreateSpecificCulture("nl-BE");</code>
格式字符串对于正确解析日期时间字符串至关重要。“自定义日期和时间格式字符串”文档没有明确提及“PST/CEST/GMT/UTC”形式的时区的格式说明符。
您可以用时区偏移量代替缩写:
<code class="language-csharp">DateTime dt1 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+2"), "dd-MMM-yy HH:mm:ss z", culture);</code>
或者,您可以使用以下格式字符串:
“zz” 用于两位数偏移量:
<code class="language-csharp"> DateTime dt2 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+02"), "dd-MMM-yy HH:mm:ss zz", culture);</code>
“zzz” 用于三位数偏移量:
<code class="language-csharp"> DateTime dt3 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+02:00"), "dd-MMM-yy HH:mm:ss zzz", culture);</code>
以上是如何在C#中准确解析DateTime Strings使用时区缩写?的详细内容。更多信息请关注PHP中文网其他相关文章!