将字符串转换为DateTime

laf*_*ama 2 c# string datetime typeconverter

可能重复:
字符串的日期时间格式?

有谁知道如何将以下字符串转换为DateTimeC#中的值?

"Thu Nov 15 2012 00:00:00 GMT+0300 (E. Africa Standard Time)"
Run Code Online (Sandbox Code Playgroud)

hat*_*enn 6

如果您只有字符串结尾"GMT+0300 (E. Africa Standard Time)",您可以尝试:

string dateString = "Thu Nov 15 2012 00:00:00 GMT+0300 (E. Africa Standard Time)";
DateTime date = DateTime.ParseExact(dateString, "ddd MMM dd yyyy HH:mm:ss 'GMT+0300 (E. Africa Standard Time)'", System.Globalization.CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

说明符的含义如下:

  • "ddd"星期几的缩写名称.
  • "MMM"月份的缩写名称.
  • "dd"月份的日期,从01到31.
  • "yyyy"这一年是一个四位数字.
  • "HH"小时,使用从00到23的24小时制.
  • "mm"分钟,从00到59.
  • "ss"第二,从00到59.
  • ":"时间分隔符.
  • "string","string"文字字符串分隔符.

您可以在MSDN文章" 自定义日期和时间格式字符串"中找到有关不同格式说明符的更多信息

此外,如果你也想解析"GMT+0300 (E. Africa Standard Time)"部分,我认为你应该实现一种自己解析它们的方法.我不认为有这样的说明.