-1

我收到错误消息:

mscorlib.dll 中出现“System.FormatException”类型的异常,但未在用户代码中处理

附加信息:字符串未被识别为有效的日期时间。

这是我的代码:

if (txtRefDate.Text != "")
{
    string[] splitdate = txtRefDate.Text.Split('-');
    string newdate = splitdate[1] + "-" + splitdate[0] + "-" + splitdate[2];
    DateTime Compdate = Convert.ToDateTime(newdate);//On this line i'm getting error
    string date = Compdate.ToString("yyyy-MM-dd");
    obj.RefrenceDate = Convert.ToDateTime(date);
}

CalenderExtender在我的textbox. 我试过Parseand ParseExact,但它不起作用。我在这里做错了什么?

4

2 回答 2

7
DateTime Compdate;
if (!String.IsNullOrEmpty(txtRefDate.Text) && DateTime.TryParse(txtRefDate.Text, out Compdate))
{
    obj.RefrenceDate = Compdate.Date;
}

另请查看TryParseExact(),它允许您提供有关输入的预期格式的更多信息。

如果失败,开始记录失败的字符串值。我们需要看看什么不起作用的例子。

于 2018-06-20T13:28:01.610 回答
2

嗯,你似乎做了很多不必要的步骤来解析和设置DateTime

var textDate = "06-20-2018";

if (!string.IsNullOrEmpty(textDate))
{
    var parsedDate = DateTime.ParseExact(textDate, "MM-dd-yyyy", null);

    obj.RefrenceDate = parsedDate;
}
于 2018-06-20T13:44:14.030 回答