C#将String转换为DateTime

如何将下面的字符串转换为C#中的DateTime

 Mon Apr 22 07:56:21 +0000 2013 

当我尝试使用代码时

 Convert.ToDateTime("Mon Apr 22 07:56:21 +0000 2013") 

它正在抛出错误

字符串不被视为有效的DateTime

请尝试使用DateTime.ParseExact

例:

 CultureInfo provider = CultureInfo.InvariantCulture; dateString = "Sun 15 Jun 2008 8:30 AM -06:00"; format = "ddd dd MMM yyyy h:mm tt zzz"; result = DateTime.ParseExact(dateString, format, provider); 

有关更多示例,请访问http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx

您必须指定输入字符串采用特定格式。 请参考此链接和此链接。

使用DateTime.ParseExact像:

 string str = "Mon Apr 22 07:56:21 +0000 2013"; DateTime dt = DateTime.ParseExact(str, "ddd MMM d HH:mm:ss +0000 yyyy", CultureInfo.InvariantCulture); 

你基本上有两种选择。 DateTime.Parse()和DateTime.ParseExact() 。 喜欢

 DateTime parseexactdt = DateTime.ParseExact("Mon Apr 22 07:56:21 +0000 2013", "ddd MMM d HH:mm:ss +0000 yyyy", CultureInfo.InvariantCulture); 
 string input = "Mon Apr 22 07:56:21 +0000 2013"; string format = "ddd MMM dd HH:mm:ss +ffff yyyy"; DateTime dt; if(DateTime.TryParseExact(input,format, CultureInfo.InvariantCulture, DateTimeStyles.None,out dt)) { // do something with dt } 

你可以用这个:

 using System; using System.Globalization; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { CultureInfo cult = CultureInfo.InvariantCulture; string txt = "Mon Apr 22 07:56:21 +0000 2013"; string format = "ddd MMM dd hh:mm:ss zzz yyyy"; DateTime dt = DateTime.ParseExact(txt, format, cult); } } } 

如果您使用+06:00从国家/地区运行程序,您将获得相同日期的时间13:56:21