我遇到一种情况,用户对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
或任何其他时区更改。
答案 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之间的转换提供了很好的解释。 >
希望这会有所帮助:)