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 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字符串中。。。