Hello.
I have a data table 1441x1 reading as a cell. The data in this cell is "06/15/2021 12:00 AM" and changes in time by the minute to make up the 1441x1 cell.
My goal is to be left with an array of only the times, as such "12:00" "12:01"... and so on. Any help is appreciated.

 Réponse acceptée

Why not just convert as-is ?
S = '06/15/2021 12:00 AM'
S = '06/15/2021 12:00 AM'
datetime(S, 'InputFormat', 'MM/dd/yyyy hh:mm a', 'Format', 'yyyy/MM/DD HH:mm')
ans = datetime
2021/06/166 00:00
Note the InputFormat uses hh, which is the code for 12-hour numbering format. The 'a' field accepts AM or PM and informs MATLAB of which 12 hour block.
The OutputFormat I coded to use HH which is the code for 24-hour numbering format.

3 commentaires

Brian Gregory
Brian Gregory le 16 Juin 2021
Thank you for your quick answer. This has potential to work, but why does your datetime ans have 166 where 15 should be?
Brian Gregory
Brian Gregory le 16 Juin 2021
Actually, I was able to get this to work using the different format yyyy-MM-dd which is the one I desired. Thanks!
Walter Roberson
Walter Roberson le 16 Juin 2021
opps yes DD should have been dd

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by