startDateStr = {'2014-05-26 04:44:44';
'2014-05-26 04:45:44';
'2014-05-26 05:44:44';
'2014-05-26 05:45:44';
};
endDateStr = {'2014-05-26 04:44:55';
'2014-05-26 04:45:56';
'2014-05-26 05:44:57';
'2014-05-26 05:45:58';
};
startTime = datetime(startDateStr,'InputFormat','yyyy-MM-dd hh:mm:ss');
endTime = datetime(endDateStr,'InputFormat','yyyy-MM-dd hh:mm:ss');
tbl = table(startTime,endTime);
hourOfDay = dateshift(tbl.startTime,'start','hour');
[Hour,~,whichHour] = unique(hourOfDay);
durationsInSeconds = seconds(tbl.endTime - tbl.startTime);
TotalDuration = accumarray(whichHour,durationsInSeconds);
output = table(Hour,TotalDuration)
Best Answer