Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 插入期间,字符串未被识别为有效的日期时间_C#_Asp.net_Datetime_Linq To Entities_Calendarextender - Fatal编程技术网

C# 插入期间,字符串未被识别为有效的日期时间

C# 插入期间,字符串未被识别为有效的日期时间,c#,asp.net,datetime,linq-to-entities,calendarextender,C#,Asp.net,Datetime,Linq To Entities,Calendarextender,当我尝试转换为日期时间时,出现以下错误 字符串未被识别为有效的日期时间 然后我试着 string date = string.Format("{0:yyyy-MM-dd}",c_date.Text); cost.b_date = DateTime.Parse(date) ; 但是我得到了同样的例外,如何解决这个问题。使用string.Format当输入是字符串时是没有意义的 如果您知道字符串的格式,则应使用或。例如,对于您得到的字符串,您可以使用: DateTime date

当我尝试转换为日期时间时,出现以下错误

字符串未被识别为有效的日期时间

然后我试着

    string date = string.Format("{0:yyyy-MM-dd}",c_date.Text);
    cost.b_date = DateTime.Parse(date) ;

但是我得到了同样的例外,如何解决这个问题。

使用
string.Format
当输入是字符串时是没有意义的

如果您知道字符串的格式,则应使用或。例如,对于您得到的字符串,您可以使用:

DateTime date = DateTime.ParseExact(text, "MM/dd/yyyy",
                                    CultureInfo.InvariantCulture);
你应该考虑:

  • 这是用户输入吗?如果是,请使用
    TryParseExact
    更轻松地检测用户错误,无异常
  • 你知道确切的格式吗?如果不是,使用可能更合适
  • 你肯定知道那里的文化吗?如果它不是当前线程的区域性,则应显式指定它
  • 您是否必须首先以文本形式获取值?如果您可以使用另一种输入形式,将值作为
    DateTime
    开始,那么这将是更好的选择

使用
字符串。当输入为字符串时,格式
是无意义的

如果您知道字符串的格式,则应使用或。例如,对于您得到的字符串,您可以使用:

DateTime date = DateTime.ParseExact(text, "MM/dd/yyyy",
                                    CultureInfo.InvariantCulture);
你应该考虑:

  • 这是用户输入吗?如果是,请使用
    TryParseExact
    更轻松地检测用户错误,无异常
  • 你知道确切的格式吗?如果不是,使用可能更合适
  • 你肯定知道那里的文化吗?如果它不是当前线程的区域性,则应显式指定它
  • 您是否必须首先以文本形式获取值?如果您可以使用另一种输入形式,将值作为
    DateTime
    开始,那么这将是更好的选择

尝试使用DateTime.ParseExact

DateTime date = DateTime.ParseExact(c_date.Text, "yyyy/MM/dd", null);

尝试使用DateTime.ParseExact

DateTime date = DateTime.ParseExact(c_date.Text, "yyyy/MM/dd", null);

这可能是由于输入值错误造成的。代码正在为正确的值成功运行。什么是c_日期?如果您有日历控件或日期时间选择器,只需获取日期,而不是原始文本。这可能是由于输入值错误造成的。代码正在为正确的值成功运行。什么是c_日期?如果您有日历控件或日期时间选择器,只需获取日期,而不是原始文本。我得到了这个错误
SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM之间。
My date time=
2012年12月28日12:00:00 AM
@just_name:您的问题根本没有提到SQL。您还没有演示如何将值插入数据库。我希望您使用的是参数化SQL,而不仅仅是将值直接包含在SQL字符串中……我发现了这个错误
SqlDateTime溢出。必须在1753年1月1日12:00:00 AM和9999年12月31日11:59:59 PM之间。
My date time=
2012年12月28日12:00:00 AM
@just_name:您的问题根本没有提到SQL。您还没有演示如何将值插入数据库。我希望您使用的是参数化SQL,而不是将值直接包含在SQL字符串中。。。