2014-03-14 56 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