无法将System.DateTime类型转换为String

时间:2017-05-31 17:08:23

标签: c# datetime

我想在endA中添加35天并将其存储在字符串AA中并在我的if语句中使用该AA来比较今天的AA日期和日期 但是在行AA = Convert.ToDateTime(enddateA).AddDays(35);中我收到一个错误,说明无法将类型System.DateTime转换为字符串如果我通过var A = Convert.ToDateTime(enddateA).AddDays(35);执行此操作,但是我无法使用它范围。

string enddateA = "";
string dateNowA = "";
string AA = "";

string UPDATE_COMPLETE = String.Format("SELECT [FINAL_END_DATE] FROM [Campus6_convert].[dbo].[ACADEMICCALENDAR] where ACADEMIC_YEAR = '" + year + "'  and ACADEMIC_TERM='" + academicterm + "'  and  ACADEMIC_SESSION='A'");
SqlCommand cmd = new SqlCommand(UPDATE_COMPLETE, con);

myReader = cmd.ExecuteReader();

while (myReader.Read())
{
    enddateA = (myReader["FINAL_END_DATE"].ToString());
    AA = Convert.ToDateTime(enddateA).AddDays(35);

    dateNowA = DateTime.Now.ToString();

    Console.WriteLine("" + AA + "");
}
myReader.Close();
cmd.ExecuteNonQuery();
cmd.Dispose();
con.Close();

if ( AA  == dateNowA)
{
    using (SqlConnection coe = new SqlConnection("server=fcpcdb02; database=campus6_convert; user id=""; password="";"))
    {
        coe.Open();

        string UPDATE_COMPLETEE = String.Format("UPDATE [Campus6_convert].[dbo].[TRANSCRIPTDETAIL] SET FINAL_GRADE = 'F', REVISION_OPID='WFLOW', REVISION_DATE='" + revisiondate + "', REVISION_TIME='" + currentDateString + "' where FINAL_GRADE='I' and ACADEMIC_YEAR = '" + year + "'  and ACADEMIC_TERM='" + academicterm + "'  and  ACADEMIC_SESSION='A'");
        SqlCommand cd = new SqlCommand(UPDATE_COMPLETEE, coe);
        cd.ExecuteNonQuery();
        cd.Dispose();
        coe.Close();
    }    
}

2 个答案:

答案 0 :(得分:2)

你错过命令ToString()到你的addDays(35):

AA = Convert.ToDateTime(enddateA).AddDays(35).ToString()

顺便说一句:FINAL_END_DATE的类型是什么?

答案 1 :(得分:2)

你的AA变量被声明为“string”,命令“Convert.ToDateTime(enddateA).AddDays(35)”将返回一个“DateTime”实例,这就是为什么你不能将它分配给AA变量

您可以声明另一个“DateTime”变量,就像使用“var A =(...)”一样,或者您可以使用“Convert.ToDateTime(enddateA).AddDays(35)”将其转换回字符串