C#中解析20230202165638格式日期时间字符串的最简方法?
在C#中解析拼接格式的日期时间值(无需Substring)
当然有更简便的方法——直接使用DateTime.ParseExact或DateTime.TryParseExact方法,通过指定匹配的格式字符串就能直接解析这类拼接格式的日期时间,完全不需要手动截取字符串,这也是处理这类场景的标准做法。
示例代码
使用DateTime.ParseExact(适合确定格式绝对正确的场景)
string dateStr = "20230202165638"; DateTime dateTime = DateTime.ParseExact(dateStr, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
使用DateTime.TryParseExact(更安全,避免格式错误抛出异常)
string dateStr = "20230202165638"; if (DateTime.TryParseExact(dateStr, "yyyyMMddHHmmss", CultureInfo.InvariantCulture, DateTimeStyles.None, out DateTime dateTime)) { // 解析成功,可直接使用dateTime变量 } else { // 解析失败,执行错误处理逻辑 }
格式字符串说明
对应的格式yyyyMMddHHmmss各部分含义:
yyyy:4位年份MM:2位月份(注意大写,小写mm代表分钟)dd:2位日期HH:24小时制的小时(大写,小写hh代表12小时制)mm:2位分钟ss:2位秒
方法优势
- 代码简洁,无需手动拆分字符串,可读性更强
- 自带格式校验,不符合规则的字符串会被直接识别,便于异常处理
- 灵活性高,只需修改格式字符串,就能适配其他拼接格式的日期时间
内容的提问来源于stack exchange,提问作者Hossein POURAKBAR
相关产品推荐
相关产品推荐

