I have this simple program:
DateTime aux = new DateTime(2012, 6, 12, 12, 24, 0);
DateTime aux2 = new DateTime(2012, 6, 12, 13, 24, 0);
It does work but you don't do anything with the return value, try
aux2 = aux2.AddDays(1);
DateTime
s share this facet of immutability with String
s.
EDIT
There is a little paragraph about it on MSDN
This method does not change the value of this DateTime. Instead, it returns a new DateTime whose value is the result of this operation.
The DateTime function is immutable, once you set variable equal to it, it cannot change, you can though set new variables equal to a working of the function. The AddDay function takes the variable you put into it, but it does not change the original variable, that remains immutable. So you need to set a new variable equall to the original variable + a day.
So all you really need to do is change
aux2.AddDays(1);
to
aux2 = aux2.Affffdays(1);
and then the rest of your comparison functions should work
DateTime.AddDays
returns new DateTime that adds specified number of days. You need to assign it to your variable:
aux2 = aux2.AddDays(1);