我想在某些日期添加天。 我有这样的代码:
DateTime endDate = Convert.ToDateTime(this.txtStartDate.Text);
Int64 addedDays = Convert.ToInt64(txtDaysSupp.Text);
endDate.AddDays(addedDays);
DateTime end = endDate;
this.txtEndDate.Text = end.ToShortDateString();
但是这个代码不工作,天不会添加! 什么愚蠢的错误,我在做什么?
日期时间是不可改变的。 这意味着你不能改变它的状态,并有一个操作的结果分配给一个变量。
endDate = endDate.AddDays(addedDays);
你需要捕捉的返回值。
该DateTime.AddDays方法返回一个对象是谁的值是实例的日期和时间,增加值的总和。
endDate = endDate.AddDays(addedDays);
它是因为AddDays()
方法返回一个新DateTime
,你不分配或使用在任何地方。
使用示例:
DateTime newDate = endDate.AddDays(2);
分配ENDDATE一些日期变量,因为AddDays
方法返回新的datetime作为结果..
Datetime somedate=endDate.AddDays(2);
Use This:
DateTime dateTime = DateTime.Now;
DateTime? newDateTime = null;
TimeSpan NumberOfDays = new TimeSpan(2, 0, 0, 0, 0);
newDateTime = dateTime.Add(NumberOfDays);
为什么你使用Int64
? AddDays
需要一个double
添加-值。 然后,你需要使用的返回值AddDays.
见这里 。
您可以添加天的日期这样的。
// 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);