datestr problem with month

6 views (last 30 days)
Aedin McAleer
Aedin McAleer on 20 Nov 2018
Commented: Aedin McAleer on 20 Nov 2018
I have a variable T.Date with 5173x 1 datetime, '04/04/2018' '05/04/2018' etc...
when i use the code
Date= datestr(T.Date,'dd/MM/yyyy');
or
formatOut = 'dd/MM/yyyy'
Date= datestr(T.Date, formatOut)
I get 5173 x 10 char '04/00/2018' and so on for all the dates. The month is 00 for every output.
why is this happening and what can I do to fix this?
  1 Comment
Stephen23
Stephen23 on 20 Nov 2018
Edited: Stephen23 on 20 Nov 2018
What MATLAB version are you using?

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 20 Nov 2018
Edited: Stephen23 on 20 Nov 2018
If T.Date really is a datetime array, then use string to convert it to a string array. Make sure that you have set the datetime's format property first:
T.Date.format = 'dd/MM/yyyy'
S = string(T.Date)
Or use cellstr:
C = cellstr(T.Date)
Or use char:
C = char(T.Date)
  1 Comment
Aedin McAleer
Aedin McAleer on 20 Nov 2018
This worked perfectly, thank you.
I use Matlab 2018a

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 20 Nov 2018
Use datetime
str='04/04/2018'
Date= datetime(str,'format','dd/MM/yyyy')

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!