【发布时间】:2015-04-10 02:33:43
【问题描述】:
DateTime frm_datestart = DateTime.Parse(dateStart.Text);
这行抛出错误:
异常详情: System.FormatException:字符串不是 被识别为有效的 DateTime。
其中输入的字符串来自Jquery-UI,示例:
09/29/2010
09/30/2010
有人知道正确的格式应该是什么吗?我很惊讶这不起作用:S
【问题讨论】:
DateTime frm_datestart = DateTime.Parse(dateStart.Text);
这行抛出错误:
异常详情: System.FormatException:字符串不是 被识别为有效的 DateTime。
其中输入的字符串来自Jquery-UI,示例:
09/29/2010
09/30/2010
有人知道正确的格式应该是什么吗?我很惊讶这不起作用:S
【问题讨论】:
您可以使用DateTime.Parse() 方法的重载版本,该方法接受第二个DateTimeFormatInfo 参数。
System.Globalization.DateTimeFormatInfo dti = new System.Globalization.DateTimeFormatInfo();
dti.ShortDatePattern = "MM/dd/yyyy";
DateTime dt = DateTime.Parse(dateStart.Text, dti);
【讨论】:
寻找DateTime.ParseExact 方法。
【讨论】:
val = dateStart.Text.ToString("yyyy-M-d HH:mm:ss");
【讨论】:
ToString 覆盖 String 以 String 作为参数)。
使用DateTime.ParseExact 指定格式如下:DateTime.Parse("dd/MM/yyyy", dateStart.Text, null)
【讨论】:
先前答案中建议的 DateTime.ParseExact() 方法的问题是,它在某些文化上失败。因此,您的应用程序可能无法在某些操作系统上正确运行。
如果您确定 dateStart.Text 将始终采用相同的格式(即 en-US),您可以尝试将适当的 CultureInfo 作为第二个参数传递。对于“MM/dd/yyyy”格式,请使用 CultureInfo.InvariantCulture。
【讨论】: