I have some code that I need to change from a string into a vector of numbers representing elapsed hours. My input data looks like:
date_str = '2015-06-05 14:17:36' '2015-06-05 14:17:36' '2015-06-05 14:17:36' '2015-06-05 14:17:36' '2015-06-05 14:17:36' '2015-06-05 14:17:39' '2015-06-05 14:17:39' '2015-06-05 14:17:39' '2015-06-05 14:17:39' '2015-06-05 14:17:39' '2015-06-05 14:17:39' '2015-06-05 14:17:40' '2015-06-05 14:20:09' '2015-06-05 14:20:09' '2015-06-05 14:20:09' '2015-06-05 14:20:09' '2015-06-05 14:23:00' '2015-06-05 14:23:00' '2015-06-05 14:23:34' '2015-06-05 14:23:34' '2015-06-05 14:23:35' '2015-06-05 14:23:35' '2015-06-05 14:23:35' '2015-06-05 14:23:35' '2015-06-05 14:23:35' '2015-06-05 14:26:47';
This is a rather short list of the data, it is actually made up of over 1000000 date strings, the function I use now is:
function [e_time] = date2time(date_str)date_format = 'mm/dd/yyyy HH:MM:SS';t_datevec = zeros(size(date_str,1),6);e_time = zeros(1,length(date_str));for i = 1:length(date_str) t_str = datestr(date_str(i),date_format); t_datevec(i,:) = datevec(t_str); e_time(i) = etime(t_datevec(i,:),t_datevec(1,:))/3600;endend
So it takes a long time to actually use this function, I'm sure that is due to the for loop, any suggestions or ideas to speed this up? Thank You!
Best Answer