我在将字符串转换为DateTime时遇到问题。它给了我“字符串未被识别为有效的日期时间”异常。
这是我的输入字符串
10/28/2014 3:13:12 AM"
代码段
DateTime dt = DateTime.ParseExact("10/28/2014 3:13:12 AM", "dd-MMM-yyyy HH:mm", CultureInfo.InvariantCulture);
我已经完成了几个堆栈溢出帖子,但仍有同样的问题。
参考文章 的 String was not recognized as a valid DateTime in C# asp.net
答案 0 :(得分:0)
使用此格式字符串:"MM/dd/yyyy h:mm:ss tt"
:
DateTime dt = DateTime.ParseExact("10/28/2014 3:13:12 AM", "MM/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
如果您想将生成的DateTime
转换回使用此格式的广告:dd-MMM-yyyy HH:mm
:
string result = dt.ToString("dd-MMM-yyyy HH:mm", CultureInfo.InvariantCulture);
CultureInfo.InvariantCulture
强制使用英文月份名称而不是本地化名称。
答案 1 :(得分:0)
您缺少秒数(ss)和AM / PM指定(tt)。有关各种名称以及在此次转化中如何解释这些名称,请参阅http://msdn.microsoft.com/en-us/library/8kb3ddd4%28v=vs.110%29.aspx。
DateTime dt = DateTime.ParseExact("10/28/2014 3:13:12 AM", "MM/dd/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
如果没有这些,它就不知道如何解释你传递的额外数据。
这会为dt
分配值10/28/2014 3:13:12 AM