我有一个包含一天小时的单元格数组。
hours = {'00:00:00', '01:00:00', '02:00:00', '03:00:00', '04:00:00', '05:00:00', '06:00:00', '07:00:00', '08:00:00', '09:00:00', '10:00:00', '11:00:00', '12:00:00',...
'13:00:00', '14:00:00', '15:00:00', '16:00:00', '17:00:00', '18:00:00', '19:00:00', '20:00:00', '21:00:00', '22:00:00', '23:00:00'};
我是手动创建的:( ...现在我想创建一个间隔15分钟的另一个...你有任何提示自动完成吗?
hours_15 = {'00:00:00', '00:15:00','00:30:00',...,'23:45:00'}
答案 0 :(得分:4)
你可以通过使用datenum实现这一点:
dt = datenum('00:15:00','HH:MM:ss') - datenum('00:00:00','HH:MM:ss'); % or: dt = 1/(24*4)
time_begin = datenum('00:00:00','HH:MM:ss');
time_end = datenum('23:45:00','HH:MM:ss');
hours_15 = cellstr(datestr(time_begin:dt:time_end,'HH:MM:ss'));
最佳, NRAS。
答案 1 :(得分:0)
一个非常简单的不太优雅的解决方案:
hours = 0:23;
quarters = [0,15,30,45];
counter = 0;
% Pre-allocate space
C = cell(96,1)
for ii=1:24
for jj=1:4
counter=counter+1;
C{counter} = sprintf('%02d:%02d:00',hours(ii),quarters(jj));
end
end
应该注意的是,这需要四分之一的时间来解决Nras解决方案。