fail to convert datetime with pm string

4 views (last 30 days)
I successfully convert string '2022-09-30 10-01' to datetime using command:
datetime('2022-09-30 10-01','InputFormat','yyyy-MM-dd hh-mm')
but string '2022-09-30 16-01' failed, I expect it return 4:01 pm
is there any mistake with my command?

Accepted Answer

Steven Lord
Steven Lord on 30 Sep 2022
s = '2022-09-30 16-01';
In the InputFormat option for the datetime function, 'hh' refers to "Hour, 12-hour clock notation using two digits" of the date and time string. 'HH' refers to "Hour, 24-hour clock notation using two digits". See the description of the Format property on the datetime documentation page for the table of components that you can use in the values for InputFormat and Format.
dt = datetime(s, 'InputFormat', 'yyyy-MM-dd HH-mm')
dt = datetime
30-Sep-2022 16:01:00
You may want to include hh and a in the Format if you want to see am/pm.
dt.Format = 'yyyy-MM-dd hh-mm a'
dt = datetime
2022-09-30 04-01 PM
  1 Comment
Yu Li
Yu Li on 30 Sep 2022
thank you. seems the usage of "hh" and "HH" have different meaning.

Sign in to comment.

More Answers (0)


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!