C# 由于日历扩展程序中的日期时间格式错误,导致无效的日期时间错误

C# 由于日历扩展程序中的日期时间格式错误,导致无效的日期时间错误,c#,sql-server-2008,C#,Sql Server 2008,我正试图在数据库字段中存储数据类型为DateTime的DateTime值 但我得到了以下错误: 字符串未被识别为有效的日期时间 我的代码如下: dr["Date"] = System.Convert.ToDateTime(txtDate.Text); dr[“Date”]为我提供数据库列名“Date”,其数据类型为数据库中的datetime。 我正在使用用于txtDate文本框的日历扩展程序获取日期时间值, 然后将该值转换为DateTime数据类型,以便将该值插入数据库表。 但为什么在给出正确

我正试图在数据库字段中存储数据类型为DateTime的DateTime

但我得到了以下错误:

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

我的代码如下:

dr["Date"] = System.Convert.ToDateTime(txtDate.Text);
dr[“Date”]
为我提供数据库列名“Date”,其数据类型为数据库中的datetime。
我正在使用用于txtDate文本框的日历扩展程序获取日期时间值
然后将该值转换为DateTime数据类型,以便将该值插入数据库表。

但为什么在给出正确的数据类型时会出现上述错误。

一些代码可以捕获类似的内容,并且不会导致异常:

if (DateTime.TryParse(txtDate.Text, out dateValue)) 
{
      dr["Date"] = dateValue;
}
else
{
      Debug.Write("TextBox Value '{0}' isn't a valid datetime.", txtDate.Text);
}
用于根据格式提取
DATETIME

            DateTime yourDate;
            var formats = new[] { "yyyy-MM-dd" };
            if (DateTime.TryParseExact(s, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out yourDate))
            {
                dr["Date"] = yourDate;
            }
            else
            {
                // Do with Invalid DateTime
            }

我想分享我到底做错了什么,尽管这会让我看起来像个傻瓜。但希望它能帮助其他人解决同样的问题

我为日历扩展器提供了错误的格式,如下所示:

年月日

正确的格式应为:

年月日


文本框中的文本是什么?这个错误信息量很大你没有告诉我。那么
00
是哪一个月?这是自定义格式吗?(YYYYhhmm)?@Sayse-说得好。可能格式是
yyyy-mm-dd
,而它应该是
yyy-mm-dd
mm
是分钟
MM
是月份。发布答案时+1。我不认为这会让你看起来像个傻瓜。有时,仅仅需要第二批(或更多)新鲜的眼睛就能发现问题——每个开发人员都会有“我就是想不出这个错误”的时刻:)别忘了接受你的答案,这样你也会因此而获得代表信用。