解析日期时间字符串
问题描述:
我试图将以下字符串转换为日期时间。我搜索了高和低,无法找到确切的格式字符串,我不想诉诸手动解析它。解析日期时间字符串
var dateString = "20110828T134108+0100";
我所有的尝试都失败,出现FormatException。
答
你试过吗?
var date = DateTime.ParseExact(dateString
,"yyyyMMdd\THHmmsszzz"
,CultureInfo.InvariantCulture
);
从MSDN:
如果格式是不包括日期或 时间分离器(如“YYYYMMDD HHMM”)的自定义格式图案,使用固定区域性 为提供参数以及每种自定义格式的最宽格式 说明符。例如,如果要以 格式指定小时,请指定较宽的格式“HH”,而不是较窄的格式,即 “H”。
答
试试这个格式:"yyyyMMdd'T'HHmmss"
答
你有没有尝试过这样的:
DateTime.ParseExact("20110828T134108+0100", "yyyyMMdd'T'HHmmsszzzz", CultureInfo.InvariantCulture);
什么格式的字符串你试过吗? – BrokenGlass 2012-02-24 16:29:26
我首先尝试删除时区,使字符串变成“20110828T134108”,并尝试使用DateTime.ParseExact(dateString,“yyyyMMdd'T'hhmmss”,null)'但没有运气 – marto 2012-02-24 16:36:16