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

2 vues (au cours des 30 derniers jours)
Yu Li
Yu Li le 16 Fév 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

Réponse acceptée

Walter Roberson
Walter Roberson le 17 Fév 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.

Plus de réponses (0)

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by