如何使用C#将6天添加到日期变量

时间:2014-07-30 14:49:40

标签: c# asp.net

我有变量,其中包含日期值,因此我想在当前日期变量中添加6天。变量总是根据用户的选择而改变,但我总是希望在当前日期变量中添加6天。这是我所拥有的,我想创建一个名为WeekEndDate的变量,这个变量应该保持WeekBeginDate + 6天的值。

protected void Page_Load(object sender, System.EventArgs e)
{

    DateTime WeekBeginDate;
    DateTime WeekEndDate;
    if(this.Page.Request["WeekBeginDate"] != null)
    {
        WeekBeginDate = DateTime.Parse(this.Page.Request["WeekBeginDate"].ToString());

        Chart1.Titles[0].Text = WeekBeginDate.ToString();
        WeekEndDate = WeekBeginDate.AddDays(6);


    }

    // load the chart with values

    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnection"].ConnectionString);
    string sqlStatement = "SELECT DATEPART(DAY,DT)DT, sum (HOURS) as HOURS FROM myTable where  DT >= WeekBeginDate  and DT <=  WeekEndDate  group by DT ";

4 个答案:

答案 0 :(得分:4)

你可以尝试这个:

// Initially, we have to parse the weekBeginDate string to create a DateTime object
// and then we add six days to this DateTime object.
DateTime dt = DateTime.Parse(WeekBeginDate).AddDays(6);

// Then we assign the string representation of the DateTime object we have created before.
Chart1.Titles[0].Text = dt.ToString() ;

答案 1 :(得分:1)

您可以通过这种方式添加天数,但您的对象应为DateTime而不是string

    DateTime WeekBeginDate;

     if(this.Page.Request["WeekBeginDate"] != null)
     {                  
       WeekBeginDate = DateTime.Parse(this.Page.Request["WeekBeginDate"].ToString());

       Chart1.Titles[0].Text = WeekBeginDate.AddDays(6).ToString();

     }

答案 2 :(得分:1)

您可以执行以下操作:

WeekBeginDate = DateTime.Parse(WeekBeginDate).AddDays(6).ToString()

答案 3 :(得分:1)

好吧,因为WeekBeginDate是一个字符串,所以首先需要考虑将其转换为DateTime对象。

您可以使用DateTime.ParseDateTime.TryParse

然后您只需使用AddDays方法进行实际工作。

所以我会有这样的事情:

protected void Page_Load(object sender, System.EventArgs e)
{
    string WeekBeginDate = "";

    if(this.Page.Request["WeekBeginDate"] != null)
    {                  
        WeekBeginDate = (string)this.Page.Request["WeekBeginDate"];
        Chart1.Titles[0].Text = WeekBeginDate ;

        DateTime actualBeginDate;
        if (DateTime.TryParse(WeekBeginDate, out actualBeginDate))
        {
            DateTime actualEndDate = actualBeginDate.AddDays(6);
            string WeekEndDate = actualEndDate.ToString(); // Pick your favorite string formatting
        }
    }
}

我选择TryParse代替Parse,因为WeekBeginDate来自用户,您无法确切知道它将采用何种格式。所以{{{{ 1}}可能会抛出异常。