Main Content

Dates and Time

Arrays of date and time values that can be displayed in different formats

The date and time data types datetime, duration, and calendarDuration support efficient computations, comparisons, and formatted display of dates and times. Work with these arrays in the same way that you work with numeric arrays. You can add, subtract, sort, compare, concatenate, and plot date and time values. You also can represent dates and times as numeric arrays or as text. For more information, see Represent Dates and Times in MATLAB or watch Date and Time Arrays.


expand all

Create datetime Arrays

datetimeArrays that represent points in time

Create duration Arrays

yearsDuration in years
daysDuration in days
hoursDuration in hours
minutesDuration in minutes
secondsDuration in seconds
millisecondsDuration in milliseconds
durationLengths of time in fixed-length units

Create calendarDuration Arrays

calyearsCalendar duration in years
calquartersCalendar duration in quarters
calmonthsCalendar duration in months
calweeksCalendar duration in weeks
caldaysCalendar duration in days
calendarDurationLengths of time in variable-length calendar units

Extract Components by Time Unit

yearYear number
quarterQuarter number
monthMonth number and name
weekWeek number
dayDay number or name
hourHour number
minuteMinute number
secondSecond number

Split into Numeric Arrays

ymdYear, month, and day numbers of datetime
hmsHour, minute, and second numbers of datetime or duration
splitSplit calendar duration into numeric and duration units
timeConvert time of calendar duration to duration
timeofdayElapsed time since midnight for datetime arrays
isdatetimeDetermine if input is datetime array
isdurationDetermine if input is duration array
iscalendardurationDetermine if input is calendar duration array
isregularDetermine if input times are regular with respect to time or calendar unit
isnatDetermine NaT (Not-a-Time) elements
isdstDetermine daylight saving time elements
isweekendDetermine weekend elements
leapsecondsList all leap seconds supported by datetime data type
timezonesList time zones
tzoffsetTime zone offset from UTC
betweenCalendar math differences
caldiffCalendar math successive differences
dateshiftShift date or generate sequence of dates and times
isbetweenDetermine elements within date and time interval

Convert to Numbers

datenumConvert date and time to serial date number
convertToConvert datetime values to numeric representations
datevecConvert date and time to vector of components
exceltimeConvert MATLAB datetime to Excel date number
juliandateConvert MATLAB datetime to Julian date
posixtimeConvert MATLAB datetime to POSIX time
yyyymmddConvert MATLAB datetime to YYYYMMDD numeric value
addtodateModify date number by field

Convert to Strings

charCharacter array
stringString array
datestrConvert date and time to string format

Current Date and Time as Numbers or String

nowCurrent date and time as serial date number
clockCurrent date and time as date vector
dateCurrent date as character vector

Day of Calendar Week or Month

calendarCalendar for specified month
eomdayLast day of month
weekdayDay of week

Elapsed Time as Number

etimeTime elapsed between date vectors


Represent Dates and Times in MATLAB

Use datetime arrays to store date and time information. These arrays support arithmetic, sorting, comparisons, plotting, and formatted display.

Compare Dates and Time

You can perform an element-by-element comparison of values in two datetime arrays or two duration arrays using relational operators, such as > and <.

Set Date and Time Display Format

The Format property on datetime, duration, and calendarDuration arrays controls the display of values in each array. You can change the value of this property. Changing the Format property does not change the values in the array, only their display.

Specify Time Zones

When you create a datetime, it is unzoned by default. If you work with datetime values from multiple time zones or need to account for daylight saving time, you might need to specify a time zone.

Share Code and Data Across Locales

Follow these best practices when sharing code that handles dates and time with MATLAB® users in other locales. Write and read dates from other locals.

Core Functions Supporting Date and Time Arrays

Many functions in MATLAB operate on date and time arrays in much the same way that they operate on other arrays.


Carryover in Date Vectors and Strings

If an element falls outside the conventional range, MATLAB adjusts both that date vector element and the previous element.

Converting Date Vector Returns Unexpected Output

Because a date vector is a 1-by-6 vector of numbers, datestr might interpret your input date vectors as vectors of serial date numbers—or interpret serial date numbers as date vectors—and return unexpected output.