字符串未被识别为有效的DateTime

时间:2012-05-13 07:54:53

标签: c# asp.net datetime

我知道这些问题很严重,但我的情况对我来说似乎并不奇怪。

我的aspx页面上有textbox日历扩展程序控件

扩展程序日期格式属性中的默认格式为“d”。 当我从日历中选择我的日期15th May 2012时,它会给我5/15/2012,这很好。

由于它的字符串和我的db字段是datetype,所以我使用

Convert.ToDateTime(TextBox.Text);   // TextBox.Text = 5/15/2012

但它引发了异常, string was not recognized as valid datetime

然后我更改了代码并使用了DateTime.Parse(),但问题仍然存在。然后我试着重新格式化这样的日期,

Convert.ToDateTime(string.Format("0:MM-dd-yyyy",TextBox.Text)).Date

但仍然抛出异常..

请帮帮我。

2 个答案:

答案 0 :(得分:4)

使用以下内容

DateTime dt = DateTime.ParseExact(TextBox.Text, "dd/MM/yyyy", 
                                  CultureInfo.InvariantCulture);

系统的DateTime格式与扩展程序使用的DateTiem格式之间可能存在差异。

答案 1 :(得分:3)

假设你的开发机日期时间格式不等于MM / DD / YYYY,而是其他东西(例如DD / MM / YYYY)。查看您的计算机区域设置以查看系统日期时间格式。