Datetime.ParseExact在服务器上抛出错误但在客户端上工作

时间:2012-06-13 05:29:44

标签: c# datetime cultureinfo datetime-format

我收到错误'字符串未被识别为有效的DateTime。'使用以下代码。

NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture); 

其中selectedRow是数据库的行。代码是在RowCommand事件中编写的。 SelectedRow.Cells [9]中的值。文本在客户端采用dd-MM-yyyy格式,因为它在服务器端是不同的。

如何编写适用于所有日期时间格式的通用代码?

3 个答案:

答案 0 :(得分:5)

您必须指定dd-MM-yyyy数据的日期格式。

使用以下method

DateTime.ParseExact Method (String, String[], IFormatProvider, DateTimeStyles)

样品:

 string[] formats = { "dd-MMM-yyyy", "dd/MMM/yyyy", "dd-MM-yy","d/M/yy"};
 string dateString = "1/1/10";

 DateTime date=DateTime.ParseExact(dateString ,formats,
    System.Globalization.CultureInfo.InvariantCulture,
     System.Globalization.DateTimeStyles.None);

答案 1 :(得分:0)

您正在接收dd-MM-yyyy格式,但在parseExact中您已经给出了dd / MM / yyyy。替换' /'与' - '

答案 2 :(得分:0)

试试这个....或类似的