time stamps (string to number)

3 次查看(过去 30 天)
Hi guys,
How could I convert time stamps to a num or double, this is the format I have:
'09:35:00.000' '09:36:00.000' '09:37:00.000' '09:38:00.000' '09:39:00.000' '09:40:00.000' '09:41:00.000' '09:42:00.000'
I tried str2num str2double with various arguments... but got no where , I am assuming that the format of the time stamps is not read by those functions maybe, is there any function that am missing? Your help is appreciated.
  2 个评论
Jan
Jan 2011-12-15
It would be helpful if you define the wanted output. What do you want for '09:35:00.000' ?
Tiina
Tiina 2011-12-16
Hi Jan,
You are right I should have been more detailed by expressing a format like 'hhmmss' for example ..

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2011-12-15
A = {'09:35:00.000' '09:36:00.000' '09:37:00.000' '09:38:00.000' '09:39:00.000' '09:40:00.000' '09:41:00.000' '09:42:00.000'};
out = datevec(A)
out = out(:,4:end)

更多回答(1 个)

Jan
Jan 2011-12-15
A = {'09:35:00.000' '09:36:00.000' '09:37:00.000' '09:38:00.000' '09:39:00.000' '09:40:00.000' '09:41:00.000' '09:42:00.000'};
B = sprintf('%s:', A{:});
C = reshape(sscanf(B, '%g:'), 3, []);
Then you have:
C = [ 9 9 9 9 9 9 9 9
35 36 37 38 39 40 41 42
0 0 0 0 0 0 0 0];
If you want to convert it to seconds:
D = [3600, 60, 1] * C;

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by