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

Mic*_*per 0 c# datetime cultureinfo datetime-format

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

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

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

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

ada*_*ost 5

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

使用以下方法:

DateTime.ParseExact Method (String, String[], IFormatProvider, DateTimeStyles)
Run Code Online (Sandbox Code Playgroud)

样品:

 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);
Run Code Online (Sandbox Code Playgroud)