0

我收到错误消息“字符串未被识别为有效的日期时间。” 通过使用以下代码。

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

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

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

4

3 回答 3

5

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

使用以下方法

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);
于 2012-06-13T05:33:59.673 回答
0

您正在接收 dd-MM-yyyy 格式,但在 parseExact 中您给出了 dd/MM/yyyy。用。。。来代替 '-'

于 2012-06-13T05:33:04.180 回答
0

AVD

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

NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy".Replace("/", "-"), System.Globalization.CultureInfo.InvariantCulture);
于 2012-06-13T05:43:18.953 回答