how to convert '10:00 AM' to datetime?

2 Ansichten (letzte 30 Tage)
Yu Li
Yu Li am 16 Feb. 2022
Beantwortet: Walter Roberson am 17 Feb. 2022
Hi:
I have a string '10:30 AM', I want to convert it to time using 'datetime' but failed, is there any way to do that?
I tried to specify the format using command below but still failed:
datetime('10:30 AM','InputFormat','HH:MM')
Thanks!
Yu

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 17 Feb. 2022
datetime('10:30 AM','InputFormat','hh:mm a')
ans = datetime
17-Feb-2022 10:30:00
Notice how the current day is automatically used. MATLAB does not have any datatype for pure clock time without a date: it has datetime (that can be configured to display nor not display the date or seconds or whatever even though they are stored); and it has duration() objects that are purely relative objects with no date or absolute hour, just elapsed time.
You can do
temp = datetime('10:30 AM','InputFormat','hh:mm a')
temp = datetime
17-Feb-2022 10:30:00
day_relative = temp - dateshift(temp, 'start', 'day')
day_relative = duration
10:30:00
and now you have a duration relative to the beginning of the day.

Weitere Antworten (0)

Kategorien

Mehr zu Dates and Time finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by