Hello all.
I have a string array of times i'm trying to convert into datetime format.
the string array is as follows:
'12/24/2019 02:42:42:451 PM'
from it i take the parameters: year, month, day, hour (based on PM or AM), min, sec, msec.
and when trying to convert it into datetime using:
Ts = datetime(year,month,day,hour,min,sec,milli_sec,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS');
I get:
datetime
24-Dec-2019 14:42:42
without the msec.
anyone knows why doesn't it take the msec into consideration?

1 commentaire

dpb
dpb le 29 Déc 2019
In
Ts = datetime(year,month,day,hour,min,sec,milli_sec,'InputFormat','yyyy-MM-dd HH:mm:ss.SSS');
you're mixing the input text format of the original with numeric arguments...I'd be surprised that works...
There's no reason to go to the trouble of parsing the string first; read it as is but then drop 'Input' from the named argument to set the display format.

Connectez-vous pour commenter.

 Réponse acceptée

Akira Agata
Akira Agata le 29 Déc 2019

3 votes

Please set the display format to show millisecond, like:
>> Ts.Format = 'uuuu/MM/dd HH:mm:ss.SSS';
>> Ts
Ts =
datetime
2019/12/24 14:42:42.451

2 commentaires

Orel Levy
Orel Levy le 29 Déc 2019
thanks, works perfect
Sreeraj T
Sreeraj T le 12 Mai 2022
Thanks a lot

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