2012-01-14 115 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它提取工作日&時間&日期然後創建一個有效的日期字符串或直接日期變量。