MATLAB Function Reference Previous page   Next Page

Convert date and time to string format



datestr is one of three conversion functions that enable you to express dates and times in any of three formats in MATLAB: a string (or date string), a vector of date and time components (or date vector), or as a numeric offset from a known date in time (or serial date number). Here is an example of a date and time expressed in the three MATLAB formats:

A serial date number represents the whole and fractional number of days from 1-Jan-0000 to a specific date. The year 0000 is merely a reference point and is not intended to be interpreted as a real year in time.

S = datestr(V) converts one or more date vectors V to date strings S. Input V must be an m-by-6 matrix containing m full (six-element) date vectors. Each element of V must be a positive double-precision number. datestr returns a column vector of m date strings, where m is the total number of date vectors in V.

S = datestr(N) converts one or more serial date numbers N to date strings S. Input argument N can be a scalar, vector, or multidimensional array of positive double-precision numbers. datestr returns a column vector of m date strings, where m is the total number of date numbers in N.

S = datestr(D, F) converts one or more date vectors, serial date numbers, or date strings D into the same number of date strings S. Input argument F is a format number or string that determines the format of the date string output. Valid values for F are given in the table "Standard MATLAB Date Format Definitions", below. Input F may also contain a free-form date format string consisting of format tokens shown in the table "Free-Form Date Format Specifiers", below.

Date strings with 2-character years are interpreted to be within the 100 years centered around the current year.

S = datestr(S1, F, P) converts date string S1 to date string S, applying format F to the output string, and using pivot year P as the starting year of the 100-year range in which a two-character year resides. The default pivot year is the current year minus 50 years.

S = datestr(..., 'local') returns the string in a localized format. The default is US English ('en_US'). This argument must come last in the argument sequence.

Time formats like 'h:m:s', 'h:m:s.s', 'h:m pm', ... can also be part of the input array S. If you do not specify a format string F, or if you specify F as -1, the date string format defaults to the following:

If S contains date information only, e.g., 01-Mar-1995
If S contains time information only, e.g., 03:45 PM
If S is a date vector, or a string that contains both date and time information, e.g., 01-Mar-1995 03:45

The following table shows the string symbols to use in specifying a free-form format for the output date string. MATLAB interprets these symbols according to your computer's language setting and the current MATLAB language setting.

Free-Form Date Format Specifiers
Show year in full.
1990, 2002
Show year in two digits.
90, 02
Show month using full name.
March, December
Show month using first three letters.
Mar, Dec
Show month in two digits.
03, 12
Show month using capitalized first letter.
M, D
Show day using full name.
Monday, Tuesday
Show day using first three letters.
Mon, Tue
Show day in two digits.
05, 20
Show day using capitalized first letter.
M, T
Show hour in two digits (no leading zeros when free-form specifier AM or PM is used (see last entry in this table)).
05, 5 AM
Show minute in two digits.
12, 02
Show second in two digits.
07, 59
AM or PM
Append AM or PM to date string (see note below).
3:45:02 PM


A vector of three or six numbers could represent either a single date vector, or a vector of individual serial date numbers. For example, the vector [2000 12 15 11 45 03] could represent either 11:45:03 on December 15, 2000 or a vector of date numbers 2000, 12, 15, etc.. MATLAB uses the following general rule in interpreting vectors associated with dates:

To specify dates outside of this range as a date vector, first convert the vector to a serial date number using the datenum function as shown here:


Return the current date and time in a string using the default format, 0:

Format the same showing only the date and in the mm/dd/yy format. Note that you can specify this format either by number or by string.

Display the returned date string using your own format made up of symbols shown in the Free-Form Date Format Specifiers table above.

Convert a nonstandard date form into a standard MATLAB date form by first converting to a date number and then to a string:

See Also

datenum, datevec, date, clock, now, datetick

Previous page  datenum datetick Next page

© 1994-2005 The MathWorks, Inc.