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