首页 > 解决方案 > 无法在c#中将字符串转换为日期时间

问题描述

现在我知道这个问题被问了很多,但是我尝试的每一个解决方案都会遇到同样的问题。我正在尝试将格式为“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)")

似乎没有任何效果。这可能是我忽略的一些非常愚蠢的事情,但我似乎无法找到问题所在。希望大家帮忙?

问候,雅各布

标签: c#stringdatedatetime

解决方案


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

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

这不是您将字符串转换为日期时间的问题,而是阅读器将日期时间转换为字符串的问题。这是你应该研究的。我不确定您的阅读器的类型是什么,因此请查看文档以了解附加到阅读器的“GetDatetime”方法。或者创建一个,或者告诉我们阅读器的类型,我们会看到。


推荐阅读