C# 约会时间的问题

C# 约会时间的问题,c#,datetime,exception,C#,Datetime,Exception,我一直在尝试将.csv文档的一些行添加到SQL数据库中,但在某一点上我得到了以下例外: SYSTEM.FORMATEXCEPTION: STRING '0000-00-00 00:00:01' WAS NOT RECOGNIZED AS A VALID DATETIME. AT SYSTEM.DATETIMEPARSE.PARSE(READONLYSPAN`1 S, DATETIMEFORMATINFO DTFI, DATETIMESTYLES STYLES) AT SYSTEM.DATETIM

我一直在尝试将.csv文档的一些行添加到SQL数据库中,但在某一点上我得到了以下例外:

SYSTEM.FORMATEXCEPTION: STRING '0000-00-00 00:00:01' WAS NOT RECOGNIZED AS A VALID DATETIME.
AT SYSTEM.DATETIMEPARSE.PARSE(READONLYSPAN`1 S, DATETIMEFORMATINFO DTFI, DATETIMESTYLES STYLES)
AT SYSTEM.DATETIME.PARSE(STRING S)
AT FRAME2020.OBJETOSERVICIOS.DEVOLVERSERVICIOS(STRING[] LISTA) IN 
D:\TRABAJO\FRAME2020\FRAME2020\CONEXIONBDD.CS:LINE 

我不知道如何解决这个问题,我尝试了try/except,但它不适用于我的方法,有什么建议吗?

问题在于您尝试设置的日期:
0000-00-00 00:00:01
,没有第0天、第0个月和第0年。
最小
DateTime
1-1-0001 00:00:00

您没有向我们显示任何代码,因此我在这里做一些假设。看起来您正在使用
DateTime.Parse
解析
csv
源中您希望成为
DateTime
的列。但是,您的源代码在该列中的值不能解析为有效的
DateTime
。例如
0000-00-00:00:01

其他人已经指出,
0000-00-00 00:00:01
不是有效的
DateTime
。为了解决这个问题,您可以使用不同的方法来解析该列。例如这将尝试将
字符串
解析为
日期时间
,如果失败则返回
false
,如果成功则返回
true

string s = "0000-00-00 00:00:01";
if (!DateTime.TryParse(s, out DateTime dt))
{
   // The string could not be parsed to a DateTime.
}
else
{
   // The string was successfully parsed and the variable dt will have the parsed
   // DateTime.
}

一旦你有了它,你就会知道你是否成功地将
字符串
解析成
日期时间
,并且你可以做一些事情,而不是在失败时抛出
格式异常。

你能展示一个能说明你的问题的例子吗?顺便说一下,
DateTime.MinValue
在公历中是
00:00.0000000 UTC,0001年1月1日
,因此,您的
0000-00-00 00:00:01
值似乎不是有效的
DateTime
。虽然异常消息是本地化的,但我不知道有任何设置会在所有CAP中显示它们,我想知道这是怎么回事,我相信这是因为SQL中的DateTime最小值大约是1770年左右。因此,您不能插入年=0000的日期。@VDN例外是表单.net解析器,而不是SQL。所以在这种情况下SQL值是不相关的对不起,没有显示任何代码!谢谢你的帮助谢谢,抱歉没有显示任何代码,真的很有帮助!谢谢你的帮助!