day and month inverted in the time scaling
1 view (last 30 days)
Show older comments
Sébastien Ruiz
on 26 Sep 2023
Commented: Sébastien Ruiz
on 29 Sep 2023
time x array : 04/05/2023 00:00:22.384 04/05/2023 00:00:59.361 04/05/2023 00:02:33.408
When using stairs function the legend in x is displayed Apr 05, 2023 where it should be May 04, 2023.
How can I set the time display?
0 Comments
Accepted Answer
Dyuman Joshi
on 26 Sep 2023
Extract the day and month from the datetime values and swap them.
%Example
in = [datetime(2023,4,5,00,00,22.384) datetime(2023,4,5,00,00,59.361) datetime(2023,4,5,00,02,33.408)]
%Get year month and day
[y,m,d] = ymd(in)
%Get hour minute and second
[H,M,S] = hms(in);
out = datetime(y,d,m,H,M,S)
3 Comments
More Answers (1)
Les Beckham
on 26 Sep 2023
Edited: Les Beckham
on 26 Sep 2023
If you created your "time x array" by reading strings from a text file, for example, you need to specify the 'InputFormat' argument when you read the strings using the datetime function (see documentation here).
date_strings = ["04/05/2023 00:00:22.384", "04/05/2023 00:00:59.361", "04/05/2023 00:02:33.408"];
time_x_array = datetime(date_strings, 'InputFormat', 'dd/MM/yyyy hh:mm:ss.SSS')
2 Comments
Steven Lord
on 26 Sep 2023
Note that if you don't include the InputFormat, MATLAB will warn you that your text data is ambiguous. It can't tell whether the month or the date is first. It will even suggest the alternate format that also matches the text representation.
date_strings = ["04/05/2023 00:00:22.384", "04/05/2023 00:00:59.361", "04/05/2023 00:02:33.408"];
time_x_array = datetime(date_strings)%, 'InputFormat', 'dd/MM/yyyy hh:mm:ss.SSS')
While MATLAB Answers runs the most recent release of MATLAB, I confirmed that this warning appears in release R2021b as well.
See Also
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!