C# 如果从数据库中获取日期,如何在日期前3天获取?
我有一个表单,用户在其中填写有关XYZ的信息,包括开始日期和到期日期。单击按钮时,信息将保存在数据库中。现在,我需要在到期日期前3天,并需要在web表单ex的标签中显示。到期日期为2012年12月12日。当用户打开其个人资料时,该日期现在保存在数据库中,必须显示到期日期2012年12月9日 我从当前日期中提前3天得到日期,但我不知道如果日期来自数据库,如何得到任何想法 您可以在lbltest中的代码中看到,从当前日期开始,在日期前3天显示 Label1从数据库中获取日期C# 如果从数据库中获取日期,如何在日期前3天获取?,c#,asp.net,sql-server,webforms,C#,Asp.net,Sql Server,Webforms,我有一个表单,用户在其中填写有关XYZ的信息,包括开始日期和到期日期。单击按钮时,信息将保存在数据库中。现在,我需要在到期日期前3天,并需要在web表单ex的标签中显示。到期日期为2012年12月12日。当用户打开其个人资料时,该日期现在保存在数据库中,必须显示到期日期2012年12月9日 我从当前日期中提前3天得到日期,但我不知道如果日期来自数据库,如何得到任何想法 您可以在lbltest中的代码中看到,从当前日期开始,在日期前3天显示 Label1从数据库中获取日期 SqlCommand c
SqlCommand cmd = new SqlCommand("Select Enddate from moudetails", con);
SqlDataAdapter DA = new SqlDataAdapter(cmd);
DataTable Dt = new DataTable();
DA.Fill(Dt);
if (Dt.Rows.Count > 0)
{
lbltest.Text = DateTime.Now.AddDays(-3).ToString("dd/MM/yyyy");
Label1.Text = Dt.Rows[0]["Enddate"].ToString();
}
如果将日期存储为字符串,请尝试使用该方法。然后,您将能够从从数据库检索的日期中扣除这三天 根据注释,另一个可行的解决方案是将对象强制转换为datetime:
Label1.Text = (Dt.Rows[0]["Enddate"] as DateTime).ToString()
我使用的是先生建议的方法,ISPain17
SqlCommand cmd = new SqlCommand("Select Enddate from moudetails", con);
SqlDataAdapter DA = new SqlDataAdapter(cmd);
DataTable Dt = new DataTable();
DA.Fill(Dt);
if (Dt.Rows.Count > 0)
{
string dateString = Dt.Rows[0]["Enddate"].ToString();
//lbltest.Text = DateTime.Now.AddDays(-3).ToString("dd/MM/yyyy");
//Label1.Text = Dt.Rows[0]["Enddate"].ToString();
Label1.Text = DateTime.Parse(dateString).AddDays(-3).ToString();
}
和它的工作:D您可以使用System.Convert
string dateString = Dt.Rows[0]["Enddate"].ToString();
DateTime date = Convert.ToDateTime(dateString);
date.AddDays(-3).ToString();
使用从数据库读取的DateTime字段,而不是
DateTime。现在
对不起,先生,但是它会弹到我的头上,您能解释一下我是怎么做的吗?在您的例子中,类似于DateTime.Parse(Dt.Rows[0][“Enddate”].ToString()).AddDays(-3)代码>可以。lbltest.Text=Dt.Rows[0]。字段(“Enddate”).AddDays(-3)。ToString(“dd/MM/yyyy”)代码>您不需要将DateTime转换为字符串,然后解析日期,然后再转换为字符串。检查要存储到数据库中的内容。如果您已经将存储到中作为日期时间,那么可以直接使用AddDays方法。DateTime now=DateTime.now;字符串asString=now.ToString(“dd-MMMM-yyy-hh:mm:ss-tt”);控制台写入线(关联);Dt.Rows[0][“Enddate”]根据文档返回一个对象:。您需要将此对象强制转换为DateTime,这也可以工作。但如果没有演员阵容,这将不是一个约会时间。很乐意帮忙!如果您没有其他问题,请将其标记为已接受答案。:)我添加了另一个您可以使用的选项。