使用MATLAB将dd.MM.yyyy HH:MM:ss转换为秒



我使用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)

最新更新