Datetime.ParseExact 在服务器上抛出错误,但在客户端上工作
本文关键字:客户端 工作 错误 ParseExact 服务器 Datetime 出错 | 更新日期: 2023-09-27 18:36:55
使用以下代码收到错误"字符串未被识别为有效的日期时间"。
NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
其中 selectedRow 是数据库的行。代码编写在 RowCommand 事件中。SelectedRow.Cells[9]中的值。文本在客户端采用 dd-MM-yyyy 格式,而在服务器端则不同。
如何编写适用于所有日期时间格式的通用代码?
您必须指定 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);
您正在接收dd-MM-yyyy格式,但是在parseExact 中,您已经给出了dd/MM/yyyy。将"/"替换为"-"
AVD
试试这个....或类似
NewRow["ExpiryDate"] = DateTime.ParseExact(SelectedRow.Cells[9].Text, "dd/MM/yyyy".Replace("/", "-"), System.Globalization.CultureInfo.InvariantCulture);