到目前为止,C#解析字符串格式为2014年3月19日10:32:04 CEST

时间:2014-04-04 16:27:34

标签: c# asp.net .net validation date

我正在尝试将字符串转换为以下格式的日期。我想保留时区格式,以便当我从数据库中检索它时,它将被解析为正确的时间。

我收到的另一个字符串示例是“2014年3月19日10:32:04 GMT”;

`string date = "19 March 2014 10:32:04 CEST";
 Console.WriteLine(date);
 DateTimeOffset result = DateTime.ParseExact(date, "dd MMMM yyyy HH:mm:ss Z",
            CultureInfo.InvariantCulture);' `

这适用于.net API

由于

1 个答案:

答案 0 :(得分:0)

快速回答是,你不能这样做。


原因如下,

有一个世界时区的权威数据库,您可以从IANA here获取。

问题是,3或4个字母的缩写与IANA时区有多对一的关联。例如,"AMT"意味着不同的东西,取决于您的文化或您所在的世界的哪个部分。

AMT "Armenia Time Asia"         UTC + 4 hours 
AMT "Amazon Time South America" UTC - 4 hours 

如果你真的想解决这个问题,我建议使用Noda Time代表你的Instance。您必须编写一些代码才能将缩写转换为标准的IANA时区。

我们无法为您执行此操作,具体取决于您的应用程序的上下文。