Main Content


Modify date number by field


R = addtodate(D, Q, F)



While serial date numbers can represent dates and times, it is recommended that you use datetime values to represent points in time, and duration or calendarDuration values to represent elapsed times.

R = addtodate(D, Q, F) adds quantity Q to the indicated date field F of a scalar serial date number D, returning the updated date number R.

The quantity Q to be added can be a positive or negative integer. The absolute value of Q must be less than or equal to 1e16. The date field F must be a character vector or string scalar equal to one of the following: 'year', 'month', 'day', 'hour', 'minute', 'second', or 'millisecond'.

If the addition to the date field causes the field to roll over, the MATLAB® software adjusts the next more significant fields accordingly. Adding a negative quantity to the indicated date field rolls back the calendar on the indicated field. If the addition causes the field to roll back, MATLAB adjusts the next less significant fields accordingly.


Modify the hours, days, and minutes of a given date:

t = datenum('07-Apr-2008 23:00:00');
ans =
   07-Apr-2008 23:00:00

t= addtodate(t, 2, 'hour');
ans =
   08-Apr-2008 01:00:00

t= addtodate(t, -7, 'day');
ans =
   01-Apr-2008 01:00:00

t= addtodate(t, 59, 'minute');
ans =
   01-Apr-2008 01:59:00

Adding 20 days to the given date in late December causes the calendar to roll over to January of the next year:

R = addtodate(datenum('12/24/2007 12:45'), 20, 'day');

ans =
   13-Jan-2008 12:45:00

Version History

Introduced before R2006a

See Also

| | |