2012-01-14 80 views
0

我有这个字符串:无法解析字符串为DateTime

Fri, 13 Jan 2012 04:26:42 PST 

我尝试分析它这样:

DateTime.TryParse("Fri, 13 Jan 2012 04:26:42 PST", out date) 

或类似的:

Convert.ToDateTime("Fri, 13 Jan 2012 04:26:42 PST") 

而且它抛出给我:

MESSAGE: The string was not recognized as a valid DateTime. There is an unknown word starting at index 26. 

任何想法什么是错的,我该如何解决它?

+4

'PST'不被识别为'DateTime'字符串的有效部分。 – Oded 2012-01-14 11:00:06

+0

它不是一个时区? – Nir 2012-01-14 11:02:45

+2

它没有被认可的格式。例如,在字符串中识别的时区可以采用格式“+ 0700”或“-00:30”。 .NET框架无法识别命名的时区,如“PST”或“GMT”。 – Oded 2012-01-14 11:04:19

回答

0

使用命名时区,您可以创建一个字典,将名称映射到识别格式中的实际时区差异 - 然后,使用此字典将它们的已识别格式替换为已命名的时区。

此时您将拥有一个可由框架解析的字符串。

Dictionary<string,string> namedToActualTZ = new Dictionary<string,string>(); 
namedToActualTZ.Add("PST", "-0800"); 
0

它不可能做到默认的功能,如转换格式..等你应该写一个函数来解析它manualy.in它提取工作日&时间&日期然后创建一个有效的日期字符串或直接日期变量。