将此字符串转换为DateTime的最有效方法

时间:2016-02-15 03:56:33

标签: c# datetime

我以这种格式收到DateTime =>例如,yyyyMMddHHmmss 20160214204032

由于它有点独特的格式,我不能只使用Convert.ToDateTime - 我试过,它没有用。

创建一个解析此日期组件的辅助方法很容易,例如

var year = myString.Substring(0,4);

但我担心这可能表现不佳。

有人能想到将这种格式的字符串转换为DateTime的更好方法吗?

2 个答案:

答案 0 :(得分:3)

您无法在Convert.ToDateTime中设置格式。因此,请改用ParseExact

DateTime.ParseExact("20160214204032", "yyyyMMddHHmmss",
                                       System.Globalization.CultureInfo.InvariantCulture)

答案 1 :(得分:1)

  

由于它有点独特的格式,我不能只使用Convert.ToDateTime - 我试过,它没有用。

失败是因为Convert.ToDateTime尝试从您的系统日期时间格式进行转换,如果不能,则抛出异常。

使用字符串函数也很难转换为DateTime,因此你可以

DateTime dt = DateTime.ParseExact("20160214204032", 
                                  "yyyyMMddHHmmss",
                                  System.Globalization.CultureInfo.InvariantCulture)