2012-02-24 156 views
1

我试图将以下字符串转换为日期时间。我搜索了高和低,无法找到确切的格式字符串,我不想诉诸手动解析它。解析日期时间字符串

var dateString = "20110828T134108+0100"; 

我所有的尝试都失败,出现FormatException。

+0

什么格式的字符串你试过吗? – BrokenGlass 2012-02-24 16:29:26

+0

我首先尝试删除时区,使字符串变成“20110828T134108”,并尝试使用DateTime.ParseExact(dateString,“yyyyMMdd'T'hhmmss”,null)'但没有运气 – marto 2012-02-24 16:36:16

回答

3

你试过吗?

var date = DateTime.ParseExact(dateString 
    ,"yyyyMMdd\THHmmsszzz" 
    ,CultureInfo.InvariantCulture 
    ); 

MSDN

如果格式是不包括日期或 时间分离器(如“YYYYMMDD HHMM”)的自定义格式图案,使用固定区域性 为提供参数以及每种自定义格式的最宽格式 说明符。例如,如果要以 格式指定小时,请指定较宽的格式“HH”,而不是较窄的格式,即 “H”。

0

试试这个格式:"yyyyMMdd'T'HHmmss"

0

你有没有尝试过这样的:

DateTime.ParseExact("20110828T134108+0100", "yyyyMMdd'T'HHmmsszzzz", CultureInfo.InvariantCulture);