C# 按以下格式分析迄今为止的字符串 2014 年 3 月 19 日 10:32:04 CEST

本文关键字:CEST 2014 格式 字符串 迄今为止 | 更新日期: 2023-09-27 17:56:45

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

我收到的字符串的另一个示例是"19 March 2014 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 的

谢谢

C# 按以下格式分析迄今为止的字符串 2014 年 3 月 19 日 10:32:04 CEST

快速的回答是,你做不到。


原因如下,

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

问题是,3 或 4 个字母的缩写与 IANA 时区具有多对一关联。例如,"AMT"意味着不同的东西,这取决于你的文化或你身处世界的哪个地方。

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

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

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