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 件のコメント

dpb
dpb 2019 年 12 月 29 日
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.

サインインしてコメントする。

 採用された回答

Akira Agata
Akira Agata 2019 年 12 月 29 日

3 投票

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 件のコメント

Orel Levy
Orel Levy 2019 年 12 月 29 日
thanks, works perfect
Sreeraj T
Sreeraj T 2022 年 5 月 12 日
Thanks a lot

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeData Type Conversion についてさらに検索

質問済み:

2019 年 12 月 29 日

コメント済み:

2022 年 5 月 12 日

Community Treasure Hunt

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

Start Hunting!

Translated by