public override void Execute() { double B = stack.Input.Value; double A = stack.Pop(); DateTime?date = NumberToDateTimeConverter.NumberToDate(A); if (date == null) { stack.Message = "Not a valid date format"; return; } int d = NumberToDateTimeConverter.getNumberOfDays(B); int m = NumberToDateTimeConverter.getNumberOfMonths(B); int y = NumberToDateTimeConverter.getNumberOfYears(B); DateTime newDate = date.Value.AddDays(d).AddMonths(m).AddYears(y); stack.SetInput(NumberToDateTimeConverter.NumberFromDate(newDate)); stack.Message = String.Format("Date: {0:dd.MM.yyyy}", newDate); Console.WriteLine("{0:dd.MM.yyyy} plus {1} days {2} months and {3} years equals {4:dd.MM.yyyy}", date, d, m, y, newDate); }
public override void Execute() { double B = stack.Input.Value; double A = stack.Pop(); DateTime?date = NumberToDateTimeConverter.NumberToTime(A); if (date == null) { stack.Message = "Not a valid time format"; return; } int h = NumberToDateTimeConverter.getNumberOfHours(B); int m = NumberToDateTimeConverter.getNumberOfMinutes(B); int s = NumberToDateTimeConverter.getNumberOfSeconds(B); DateTime newDate = date.Value.AddHours(h).AddMinutes(m).AddSeconds(s); stack.SetInput(NumberToDateTimeConverter.NumberFromDate(newDate)); stack.Message = String.Format("Date: {0:HH:mm:ss}", newDate); Console.WriteLine("{0:HH:mm:ss} plus {1} hours {2} minutes and {3} seconds equals {4:HH:mm:ss}", date, h, m, s, newDate); }