如何增加日期?

时间:2011-03-03 06:02:14

标签: c# .net

我有两个日期作为03/03/2011的duedate并且返回03/09/2011。当我从returnndate中减去duedate时,我想找到双倍罚款。如何增加duedate?

4 个答案:

答案 0 :(得分:21)

以下代码可能会对您有所帮助:

var dueDate = new DateTime(2011, 3, 3);

//if you want to increment six days
var dueDatePlus6Days = dueDate.AddDays(6);

//if you want to increment six months
var dueDatePlus6Months = dueDate.AddMonths(6);

var daysDiff1 = (dueDatePlus6Days - dueDate).TotalDays; //gives 6
var daysDiff2 = (dueDatePlus6Months - dueDate).TotalDays; //gives 184

答案 1 :(得分:2)

逻辑解决方案似乎是AddDays方法,与其他答案一样。

但是,我尝试(通常)在处理货币或日期值时永远不会使用浮点数(即双倍)。

DateTime包含一个时间组件,AddDays将double作为参数(小数部分变为时间),因此我倾向于避免使用该方法。

相反,我使用

dueDatePlusOne = dueDate.AddTicks(TimeSpan.TicksPerDay);

这也会导致执行速度稍快。并不是说它在今天的硬件上仍然很重要,但我开始编写具有<1 MHz时钟速度和旧PDP-8和-11的微处理器以及类似于1970年代的东西,并且一些习惯永远不会消亡;)< / p>

答案 2 :(得分:1)

假设returnDate,dueDate是DateTime对象:

double extraDays = (returnDate - dueDate).TotalDays;

答案 3 :(得分:1)

愿这可以帮到你

DateTime dt_duedate = DateTime.Now;
DateTime dt_returndate = DateTime.Now.AddDays(2);
System.TimeSpan diffResult = dt_returndate.Subtract(dt_duedate);