字符串日期到日期时间格式

时间:2013-12-17 02:25:47

标签: c# datetime

我有一个值为13/12 / 17,09:37:20 + 32的字符串我无法以日期时间格式转换它。始终出现错误,表示" String未被识别为有效的DateTime"。这是我的代码:

 DateTime crtdDate = DateTime.ParseExact(l.CreateDate, "yy/MM/dd,hh:mm:ss tt", CultureInfo.InvariantCulture);

请有人帮助我。谢谢!

2 个答案:

答案 0 :(得分:1)

tt代表ampm

tt不会解析

+32。如果您尝试解析一秒钟的hundreth,请尝试ff

var  crtdDate = DateTime.ParseExact(l.CreateDate, "yy/MM/dd,hh:mm:ss+ff", CultureInfo.InvariantCulture);

答案 1 :(得分:0)

您的字符串必须与格式完全匹配:

 l.CreateDate = "06/15/2008";

 [http://msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx][1]
 "d" -> 6/15/2009 1:45:30 PM -> 6/15/2009 (en-US)
        6/15/2009 1:45:30 PM -> 15/06/2009 (fr-FR)
        6/15/2009 1:45:30 PM -> 2009/06/15 (ja-JP)



 DateTime.ParseExact(l.CreateDate, "d", CultureInfo.InvariantCulture);

没有+32,这将解析:

 DateTime.ParseExact("13/12/17,09:37:20", "yy/MM/dd,hh:mm:ss", CultureInfo.InvariantCulture);

使用有效的时区说明符,以下内容将起作用:

 DateTime crtdDate = DateTime.ParseExact("13/12/17,09:37:20+00:00", "yy/MM/dd,hh:mm:ssK", 
            CultureInfo.InvariantCulture);