C# TryParseExact 读取时区

标签 c# datetime

<分区>

Possible Duplicate:
Parse DateTime with timezone of form PST/CEST/UTC/etc

我有一个格式如下的日期字符串

Fri, 14 Dec 2012 6:52 am PST

我想将它转换为日期时间。我正在使用 DateTime.TryParseExact 来实现它,但我无法读取时区。如果我将字符串(不带时区)更改为

Fri, 14 Dec 2012 6:52 am

并使用

DateTime.TryParseExact(DateString, "ddd, dd MMM yyyy h:mm tt", CultureInfo.InvariantCulture, DateTimeStyles.None,out dt)

它有效。 如何读取时区。

编辑 - 我正在从 Yahoo weather API 获取数据(例如 http://weather.yahooapis.com/forecastrss?w=2420380 )。

谢谢。

最佳答案

我不相信有 custom date and time format specifier它处理时区(与当前的 UTC 偏移量相对)。即使有,时区缩写也可能含糊不清,因此它们通常不能作为传达时区信息的方式。不幸的是,它们被广泛使用,当然......

我怀疑您最好创建一个从缩写到“最佳猜测时区”的映射,然后从输入字符串中去除最后一个空格之后的任何内容,并使用它来获取时区。

以防万一有人想知道,Noda Time也没有处理这个 - 但我希望在某个时候取得进展:)

关于C# TryParseExact 读取时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13881819/

相关文章:

javascript - 获取当前时间的分钟和秒

c# - 按钮启用属性无法正常工作

python - 从日期和会计年度结束获取季度的开始和结束日期

javascript - 在javascript中解析MySQL TIME

Java - 创建没有时区的日历

java - 考虑夏令时转换为 UTC

c# - Blazor 组件 (Radzen) 中的 OnAfterRender OnAfterRenderAsync

javascript - 如何在 ASP.NET C# 中获取确认框返回值

数组的 C# 互操作编码(marshal)行为似乎与文档不一致

c# - C# 中的动态类型