错误:在C#4中,字符串未被识别为有效的DateTime(格式化)

时间:2016-09-22 06:00:15

标签: c# string datepicker

我的c#应用程序中有一个datepicker,提供如下字符串:

  

&#34 2016/1/1"

     

&#34 2016/11/15"

但我想将它们改为以下格式:

  

" 2016/01/01#34;

     

&#34 2016/11/15"

我使用此代码:

    string searchstring = " and ProductStartDate Between '" + 
    String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(calender_from.Text)) + 
    "' and '" + 
    String.Format("{0:yyyy/MM/dd}", Convert.ToDateTime(calender_to.Text)) + "'";

但是当我运行以下错误时出现:

  

未处理的类型' System.FormatException'发生在mscorlib.dll

     

其他信息:字符串未被识别为有效的DateTime。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

使用DateTime.ParseExact代替Convert.ToDateTime

calender_from.Text = "2016/1/1";

DateTime date = DateTime.ParseExact(calender_from.Text, "yyyy/M/d", null);

然后你可以这样做:

string searchstring = " and ProductStartDate Between '" + String.Format("{0:yyyy/MM/dd}", date) + ...