【问题标题】:Datetime in C# add daysC#中的日期时间添加天数
【发布时间】:2013-02-27 21:17:12
【问题描述】:

我想在某个日期添加天数。我有这样的代码:

DateTime endDate = Convert.ToDateTime(this.txtStartDate.Text); 
Int64 addedDays = Convert.ToInt64(txtDaysSupp.Text); 
endDate.AddDays(addedDays); 
DateTime end = endDate; 
this.txtEndDate.Text = end.ToShortDateString();

但是这段代码不工作,天数不加!我在做什么愚蠢的错误?

【问题讨论】:

    标签: c# date c#-4.0 datetime add


    【解决方案1】:

    日期时间是不可变的。这意味着您不能更改它的状态,而必须将操作的结果分配给变量。

    endDate = endDate.AddDays(addedDays);
    

    【讨论】:

      【解决方案2】:

      你需要捕获返回值。

      DateTime.AddDays 方法返回一个对象,其值为实例的日期和时间与相加值之和。

      endDate = endDate.AddDays(addedDays);
      

      【讨论】:

      【解决方案3】:

      这是因为AddDays() 方法返回了一个新的DateTime,你没有在任何地方分配或使用它。

      使用示例:

      DateTime newDate = endDate.AddDays(2);
      

      【讨论】:

        【解决方案4】:

        您可以像这样为日期添加天数:

        // add days to current **DateTime**
        var addedDateTime = DateTime.Now.AddDays(10);
        
        // add days to current **Date**
        var addedDate = DateTime.Now.Date.AddDays(10);
        
        // add days to any DateTime variable
        var addedDateTime = anyDate.AddDay(10);
        

        【讨论】:

          【解决方案5】:

          将结束日期分配给某个日期变量,因为AddDays 方法返回新的日期时间作为结果..

          Datetime somedate=endDate.AddDays(2);
          

          【讨论】:

            【解决方案6】:

            使用这个:

            DateTime dateTime =  DateTime.Now;
            DateTime? newDateTime = null;
            TimeSpan numberOfDays = new TimeSpan(2, 0, 0, 0, 0);
            newDateTime = dateTime.Add(numberOfDays);
            

            【讨论】:

              【解决方案7】:

              你为什么使用Int64AddDays 要求添加 double-值。然后你需要使用AddDays. 的返回值参见here

              【讨论】:

                猜你喜欢
                • 2018-10-20
                • 2012-06-10
                • 1970-01-01
                • 2018-03-29
                • 1970-01-01
                • 1970-01-01
                • 2013-07-31
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多