Datevec problem - not able to convert string to numeric array
1 次查看(过去 30 天)
显示 更早的评论
Hi I have problem with datevec. I have vector like this. I am trying to parse data for obtaining second. But it always gives an error for me. I have my time vector in String Format in 2017a.
"2017-10-16T14:39:00.221Z"
"2017-10-16T14:39:02.221Z"
"2017-10-16T14:39:03.221Z"
"2017-10-16T14:39:04.221Z"
"2017-10-16T14:39:06.221Z"
"2017-10-16T14:39:08.221Z"
"2017-10-16T14:39:09.221Z"
"2017-10-16T14:39:10.221Z"
"2017-10-16T14:39:11.221Z"
The code that I write is
Time= strrep(Time, 'Z', ''); %find .XXXXZ replace to''
Time= strrep(Time, 'T', ' '); %find T replace to' '
formatIn = 'yyyy-mm-dd HH:MM:SS'
datevec(Time,formatIn)
The answer of matlab is
formatIn =
'yyyy-mm-dd HH:MM:SS'
Error using datevec (line 103) The input to DATEVEC was not an array of character vectors. What Can I do???
0 个评论
采纳的回答
Andrei Bobrov
2017-10-27
编辑:Andrei Bobrov
2017-10-27
A = {'2017-10-16T14:39:00.221Z'
'2017-10-16T14:39:02.221Z'
'2017-10-16T14:39:03.221Z'
'2017-10-16T14:39:04.221Z'
'2017-10-16T14:39:06.221Z'
'2017-10-16T14:39:08.221Z'
'2017-10-16T14:39:09.221Z'
'2017-10-16T14:39:10.221Z'
'2017-10-16T14:39:11.221Z'};
Time = strung(A);
dt = datetime(regexprep(A,{'T','Z'},{' ',''}),'I','uuuu-MM-dd HH:mm:ss.SSS');
out = datevec(dt);
更多回答(2 个)
Orkun OZENER
2017-10-27
1 个评论
Stephen23
2017-10-27
"I did not find the meaning of it..Is it a format?"
Did you read the datetime help? It explains what that is.
Peter Perkins
2017-11-16
Stephen's mod of Andrei's answer looks right, but I would add that there is likely no need to call datevec. In other words, you probably don't want to convert text to a numeric array, you want to convert it to datetimes.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!