2014-03-14 184 views
2

我正在解析幾個XML文件,我把日期時間值保存爲文本。我不是能找到什麼樣的格式是以下一個 -字符串到日期時間分析

20110123T233356,00-05

我都嘗試DateTime.ParseDateTimeOffset.Parse和他們都失敗了。我也嘗試在幾個地方識別字符串,如herehere,但沒有運氣。

+0

他們怎麼失敗? – Rik

+2

看起來像是yyyyMMddTHHmmss,xx-xx其中xx-xx是我不知道的數字。上下文是什麼? – rikitikitik

+0

@Rik - 字符串不被識別爲有效的日期時間。 – NLV

回答

8

假設」,00" ,是百分之一秒和‘-05’是時區,你可以這樣分析它:

string dateStr = "20110123T233356,00-05"; 
string format = @"yyyyMMdd\THHmmss\,ffzz"; 

DateTime result; 

if (DateTime.TryParseExact(dateStr, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out result)) 
{ 
    Console.WriteLine(result); 
} 
else 
{ 
    Console.WriteLine("Can't parse the date: " + dateStr); 
} 

然而,這是一個很大的假設。

請注意,您還可以指定格式字符串不逃避T,如下(但我逃脫他們,使之更加明顯,他們不是格式字符):

string format = "yyyyMMddTHHmmss,ffzz"; 
+0

不是一個「大」的假設(這是迄今爲止最可能的情況),但仍是一個假設。 – Rik

+0

完美地工作。現在我會做出這個重大的假設。謝謝。 – NLV

+0

糾正我,如果我錯了,但你不需要格式字符串中的斜槓。 – Rik