C#中日期时间的字符串[“ Mon Jul 02 2018 00:00:00 GMT + 0530(印度标准时间)”]

时间:2019-08-12 11:11:37

标签: c# .net datetime datetime-format

我遇到一种情况,用户对reporedOn应用过滤器会根据提供的日期过滤列数据。但是日期采用以下格式,会导致异常。

Notification Hub strings

我只想要日期和时间。 Mon Jul 02 2018 00:00:00 GMT+0530 (India Standard Time) 如何在C#中将上述日期格式转换为日期时间。我正在寻找适用于任何时区的一般解决方案。我不想通过检查字符串的长度在代码中添加任何补丁,并使用子字符串功能并提取所需的字符串和全部。 时区可能从for ex. 8/29/2018 19:43:0或任何其他时区更改。

1 个答案:

答案 0 :(得分:0)

我在评论中发现了与Bhushan相同的解决方案。

要转换字符串

Mon Jul 02 2018 00:00:00 GMT+0530 (India Standard Time)

可以使用C#DateTime对象:

String str = "Mon Jul 02 2018 00:00:00 GMT+0530 (India Standard Time)";

DateTime dt= DateTime.ParseExact(str, "ddd MMM dd yyyy HH:mm:ss 'GMT'K '(India Standard Time)'", CultureInfo.InvariantCulture);

如果您的字符串不包含(India Standard Time),则可以删除格式提供程序:

String str = "Mon Jul 02 2018 00:00:00 GMT+0530";

DateTime dt= DateTime.ParseExact(str, "ddd MMM dd yyyy HH:mm:ss 'GMT'K", null);

我发现对使用DateTime有用的2个链接是number 1,它为DateTime格式提供了一个很好的摘要; number 2,为在C#中字符串和DateTime之间的转换提供了很好的解释。 >

希望这会有所帮助:)