Working with Dates,Problem with syntax
2 次查看(过去 30 天)
显示 更早的评论
I have a set of dates stored in b array as 'dd-mm-yyyy' as strings. I need to write queries to select dates of a particular month. So I tried doing this:
for i=2:8400
index=strfind(b,'01');
end;
for i=2:8400
if(index(i)==3)
disp(b(i));
end;
end;
But it says '??? Undefined function or method 'eq' for input arguments of type 'cell'.' I new to matlab so I'm sorry if I'm doing something stupid. Thanks.
0 个评论
采纳的回答
Amit
2014-1-12
Following your code trend: strfind might not work in this case as for example if you are looking for January (01) in a date string like 01-01-2013, there are 3 instances where 01 can be found. If the format dd-mm-yyyy is consistent in all your data, something like this might work:
b_tmp = b(:,[4 5]);
for i = 2:8400
if strcmp(b_tmp(i),'01') % Lets say you're looking for January (01)
disp(b(i));
end
end
更多回答(1 个)
Azzi Abdelmalek
2014-1-12
Example
s={'01-01-2013';
'11-01-2013'
'21-01-2013'
'22-03-2013'
'01-04-2013'
'21-05-2013'}
d=datevec(s,'dd-mm-yyyy');
% To search th month 01;
idx=d(:,2)==1
out=s(idx)
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dates and Time 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!