Could not recognize the format of the date/time text
5 ビュー (過去 30 日間)
古いコメントを表示
I have a timetable with a time column containing microsecond resolution. The time column contains something like this:
"07/04/2021 07:55:27.502.118"
"07/04/2021 07:55:27.502.196"
"07/04/2021 07:55:27.502.274"
"07/04/2021 07:55:27.502.352"
"07/04/2021 07:55:27.502.430"
"07/04/2021 07:55:27.502.508"
How can i process the data using datetime function?
0 件のコメント
採用された回答
Stephen23
2022 年 10 月 4 日
C = ["07/04/2021 07:55:27.502.118"
"07/04/2021 07:55:27.502.196"
"07/04/2021 07:55:27.502.274"
"07/04/2021 07:55:27.502.352"
"07/04/2021 07:55:27.502.430"
"07/04/2021 07:55:27.502.508"];
D = datetime(regexprep(C,'\.(\d+)$','$1'), 'InputFormat','d/M/y H:m:s.SSSSSS');
Checking:
D.Format = 'MM/dd/yyyy HH:mm:ss.SSSSSS'
その他の回答 (1 件)
Eric Delgado
2022 年 10 月 4 日
You can't. The precision of datetime is milliseconds, but you can use regexp.
inData = "07/04/2021 07:55:27.502.118";
regData = regexp(inData, '(?<timestamp_ms>\d{2}/\d{2}/\d{4} \d{2}:\d{2}:\d{2}.\d{3}).(?<us>\d*)', 'names')
outData = datetime(regData.timestamp_ms, 'InputFormat', 'dd/MM/yyyy HH:mm:ss.SSSSSS') + seconds(str2double(regData.us)/1e+6)
format long
second(outData)
2 件のコメント
Eric Sofen
2022 年 10 月 4 日
To be clear, datetime supports more than milliseconds. In fact, datetime guarantees at least nanosecond precision.
参考
カテゴリ
Help Center および File Exchange で Tables についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!