public class DateArithmetic
public static DateTime AddSubtractDays(DateTime theDate, int numDays)
DateTime returnValue = theDate;
returnValue.AddDays(numDays);
public static DateTime AddSubtractDaysCorrect(DateTime theDate, int numDays)
DateTime returnValue = theDate.AddDays(numDays);
public static DateTime AddSubtractDaysShort(DateTime theDate, int numDays)
return theDate.AddDays(numDays);
public static DateTime AddSubtractDays2(DateTime theDate, int numDays)
DateTime returnValue = theDate.AddDays(numDays);
public static void Main()
DateTimeOffset dateOffset1, dateOffset2;
Console.WriteLine("DateTime.Now is " + DateTime.Now);
Console.WriteLine("Current Timezone is " + TimeZone.CurrentTimeZone.StandardName);
difference = date1 - date2;
Console.WriteLine("{0} - {1} = {2}", date1, date2, difference);
dateOffset1 = DateTimeOffset.Now;
dateOffset2 = DateTimeOffset.UtcNow;
difference = dateOffset1 - dateOffset2;
Console.WriteLine("{0} - {1} = {2}", dateOffset1, dateOffset2, difference);
Console.WriteLine("Next, Steve's subtract and hour from Ed's code");
Console.WriteLine("Add 3 days " + AddSubtractDays(date1, 3).ToString());
Console.WriteLine("Add 3 days " + AddSubtractDaysCorrect(date1, 3).ToString());
Console.WriteLine("Add 3 days (no local var) " + AddSubtractDaysShort(date1, 3).ToString());
Console.WriteLine("After which, the date variable itself is unchanged as " + date1.ToString());