我使用csv,必须减去2个日期格式为dd.MM.yyyy HH:mm:ss
的单元格。我只需要抽出几秒钟。
Timestamp
是一列,我尝试过:
data1 = Timestamp(1) ;
data2 = Timstamp(2) ; % returns error
class(data1); % returns cell
data1 - data2 % returns error
如何将单元格转换为可以相减的数字?
您可以对单元格进行索引以提取日期字符串。然后您可以使用CCD_ 3将其转换为";自0000年1月1日起的十进制天数";。然后,只需减去您的开始日期(也可以使用datenum
转换(,然后从十进制天数更改为秒:
tmp = your_cell{1}; % e.g. 26.11.2020 00:00:00, is a string
tmp_date = datenum(tmp); % MATLAB datenum, decimal days.
tmp_date2 = datenum(your_cell{2});
no_start = tmp_date2-tmp_date; % remove starting date
time_sec = no_start*(24*60*60); % change decimal days to seconds
或者作为一个oneliner:
(datenum(your_cell{2})-datenum(your_cell{1}))*(24*60*60)