To quote MSDN:
This method does not change the value of this DateTime object. Instead, it returns a new DateTime object whose value is the result of this operationEDIT:
Practical example:static void Main(string[] args) { var foo = System.DateTime.Now; var bar = foo.AddMonths(-1); System.Console.WriteLine("Foo: {0:MMM}\nBar: {1:MMM}", foo, bar); }
Produces:Foo: Sep Bar: Aug