现在我知道这个问题经常被问到,但是我尝试的每种解决方案都遇到相同的问题。我正在尝试将格式为“ 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)")
似乎什么也没用。我可能忽略了这确实很愚蠢的东西,但是我似乎找不到问题。希望你们能帮忙吗?
问候, 雅各布
答案 0 :(得分:3)
读到错误,您的实际问题是,您正在尝试将DateTime转换为字符串,如您所说:
无法将类型为“ System.DateTime”的对象转换为类型为“ System.String”。
这不是将字符串转换为日期时间的问题,而是读者将日期时间转换为字符串的问题。这就是您应该研究的内容。我不确定您的阅读器类型是什么,所以也许看一下文档中附加到阅读器的“ GetDatetime”方法。或者创建一个,或者告诉我们Reader的类型,我们将会看到。
答案 1 :(得分:3)
我的天哪,我知道那真是愚蠢。我需要使用reader.GetDateTime()
。
对于这个愚蠢的问题,我感到非常抱歉。我已经在这个问题上忙了几个小时了,当您问一个问题时,就可以解决它。我想欢迎您进行软件开发...
答案 2 :(得分:0)
首先,检查443
返回什么?