且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在C#中将字符串转换为DateTime,结尾是EDT

更新时间:2023-02-03 08:16:23

您需要使用 DateTime。 ParseExact 并传递自定义格式。

类似于:

  var parsed = DateTime .ParseExact(Wed,13 Apr 2011 07:11:04 -0400(EDT),
ddd,dd MMM yyyy HH:mm:ss zzz,null);

注意

不支持时区缩写因为它们没有正式的指定,它们有时是含糊的。

你应该从输入中删除这个来解析上面的内容。如果你知道可能的价值是什么,你可以看看自己解析。


i have to parse this string below into a datetime object in C#:

Wed, 13 Apr 2011 07:11:04 -0400 (EDT)

what is the simplest way of doing this?

I understand there is DateTime.Parse and DateTime.ParseExact but i am trying to figure out what the custom format syntax would be for this above.

You need to use DateTime.ParseExact and pass in a custom format.
Something like:

var parsed = DateTime.ParseExact("Wed, 13 Apr 2011 07:11:04 -0400 (EDT)", 
                                 "ddd, dd MMM yyyy HH:mm:ss zzz", null);

Note
Time zone abbreviations are not supported as there is no official designation of them and they are sometimes ambiguous.
You should strip this from the input to parse the above. You could look at parsing that yourself if you know what the possible values will be.