将字符串转换成时间格式,该如何处理

将字符串转换成时间格式
如何将类似与   20150113144244  这样的字符串转换成时间格式 2015-01-13 14:42:44
format,convert.datetime,tostring("yyyy-MM-dd HH:mm:ss")都试了,不是报错,就是达不到预期效果,有高手转换过吗?求解
------解决思路----------------------
我刚试了一下,有一下方面:
1.如果月、日是个位数(如1号到9号,1月到9月),则转换后只显示1至9,而不是01至09;
2.如果小时也是个位,则转换后只显示1至9,而不是01至09;
3.分、秒能显示十位的0;
        
static void Main(string[] args)
        {
            string str = @"2015/01/03 04:02:01";
            DateTime dt = DateTime.Parse(str);
            //DateTime dt = DateTime.Now;
            Console.WriteLine("#######");
            Console.WriteLine(dt);
            Console.ReadKey();
        }

所以,上述输出是:2015/1/3 4:02:01
你在网上搜C# datetime,有个cnbolg把这个的用法讲的很详细,你自己看吧。我也不懂。
http://www.cnblogs.com/ymyglhb/archive/2009/04/22/1441293.html
------解决思路----------------------
DateTime.ParseExact(dateTimeStr, yyyy-"MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
------解决思路----------------------
引用:
DateTime.ParseExact(dateTimeStr, yyyy-"MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

实测,确实可以
代码

string s = "20150113144244";
DateTime dt = DateTime.ParseExact(s, "yyyyMMddHHmmss", null);

------解决思路----------------------
引用:
Quote: 引用:

我刚试了一下,有一下方面:
1.如果月、日是个位数(如1号到9号,1月到9月),则转换后只显示1至9,而不是01至09;
2.如果小时也是个位,则转换后只显示1至9,而不是01至09;
3.分、秒能显示十位的0;
        
static void Main(string[] args)
        {
            string str = @"2015/01/03 04:02:01";
            DateTime dt = DateTime.Parse(str);
            //DateTime dt = DateTime.Now;
            Console.WriteLine("#######");
            Console.WriteLine(dt);
            Console.ReadKey();
        }

所以,上述输出是:2015/1/3 4:02:01
你在网上搜C# datetime,有个cnbolg把这个的用法讲的很详细,你自己看吧。我也不懂。
http://www.cnblogs.com/ymyglhb/archive/2009/04/22/1441293.html

我需要的是将这样的字符串 20150113144244  转换成时间格式 2015-01-13 14:42:44
而不是你给的那种字符串...


哪吒给你的代码都已经是DateTime了,想要什么格式随便你了啊
string s = "20150113144244";
DateTime dt = DateTime.ParseExact(s, "yyyyMMddHHmmss", null);
return dt.ToString("yyyy-MM-dd HH:mm:ss");