无法在C#中将字符串转换为DateTime

时间:2019-11-21 11:50:09

标签: c# string date datetime

现在我知道这个问题经常被问到,但是我尝试的每种解决方案都遇到相同的问题。我正在尝试将格式为“ yyyy-MM-dd”的字符串转换为类型DateTime,但是我不断收到以下错误:

Unable to cast object of type 'System.DateTime' to type 'System.String'.

该属性如下: public DateTime DateOfBirth { get; set; }

我要尝试的行如下:DateOfBirth = //Conversion happens here\\

我尝试过的事情:

DateOfBirth = DateTime.ParseExact(reader.GetString(6), "yyyy-MM-dd", CultureInfo.InvariantCulture, DateTimeStyles.None);
DateOfBirth = DateTime.ParseExact(reader.GetString(6), "yyyy-MM-dd", CultureInfo.InvariantCulture);
DateOfBirth = DateTime.ParseExact(reader.GetString(6), "yyyy-MM-dd", null);
Convert.ToDateTime("reader.GetString(6)")

似乎什么也没用。我可能忽略了这确实很愚蠢的东西,但是我似乎找不到问题。希望你们能帮忙吗?

问候, 雅各布

3 个答案:

答案 0 :(得分:3)

读到错误,您的实际问题是,您正在尝试将DateTime转换为字符串,如您所说:

  

无法将类型为“ System.DateTime”的对象转换为类型为“ System.String”。

这不是将字符串转换为日期时间的问题,而是读者将日期时间转换为字符串的问题。这就是您应该研究的内容。我不确定您的阅读器类型是什么,所以也许看一下文档中附加到阅读器的“ GetDatetime”方法。或者创建一个,或者告诉我们Reader的类型,我们将会看到。

答案 1 :(得分:3)

我的天哪,我知道那真是愚蠢。我需要使用reader.GetDateTime()

对于这个愚蠢的问题,我感到非常抱歉。我已经在这个问题上忙了几个小时了,当您问一个问题时,就可以解决它。我想欢迎您进行软件开发...

答案 2 :(得分:0)

首先,检查443返回什么?