MATLAB Answers


Datetime shows month name and not number

Asked by Tiago Dias on 16 Aug 2019
Latest activity Commented on by madhan ravi
on 16 Aug 2019
I want to find a specific datetime in my vector full of date time in the format of (10-09-2018 00:00:00) days-month-year hour-minute-second
I want to find this time:
datetime('10-09-2018 00:00:00','InputFormat','dd-MM-uuuu HH:mm:ss')
But matlab assume the 09 to be september and I need to be 09, because my vector has numbers for the months and not the short name
ans =
10-Sep-2018 00:00:00
Thanks for your time


Sign in to comment.

1 Answer

Answer by madhan ravi
on 16 Aug 2019
 Accepted Answer

Change InputFormat to Format.


Not really!
'InputFormat' specify the format of the input string, so is required for matlab to decode that string properly. It is independent of the 'Format' property which controls how the datetime is displayed.
If you want the display format to match the input format, you either have the specify it twice:
datetime('10-09-2018 00:00:00', 'InputFormat', 'dd-MM-uuuu HH:mm:ss', 'Format', 'dd-MM-uuuu HH:mm:ss')
A bit of a chore (particularly if you decide to change the format)!, so there's an easier way:
datetime('10-09-2018 00:00:00','InputFormat','dd-MM-uuuu HH:mm:ss', 'Format', 'preserveinput')
Thank you, Guillaume!

Sign in to comment.