以 HH:mm:ssPM 格式向时间添加增量秒数

add incremnting seconds to time in HH:mm:ssPM format

如何在 MATAB 中将秒向量添加到时间 HH:mm:ssPM?

我通常在 Excel 中使用这种好方法将普通数字格式转换为小时、分钟和秒。使用简单的单元格自定义格式设置格式,但是当我在 MATLAB 中输入下面的代码时,它不是以秒为单位递增,而是以天为单位递增!

time = 1+0:50000+0;     % sec

% To show date as plot label it should be converted from numbers to letters 
hr_matlab = time' + datenum('4:10:44 PM');
hr= datestr(hr_matlab, 'HH:MM:ssPM');

figure(222)
plot(hr,S,'-b','LineWidth',2)

我正在使用 MATLAB2014a 并且无法访问函数 datetime

datenum 将日期转换为表示 为整数的数字。出于这个原因,当您添加向量 [1,2,3,...] 时,您实际上将天数添加到固定时间 ('4:10:44 PM').

如果要将其添加为秒,则需要将 time 除以每天的秒数:

hr_matlab = (time')/86400 + datenum('4:10:44 PM');

一个简单的选择是添加两个 date numbers:

hr_matlab = datenum('4:10:44 PM') + datenum(0, 0, 0, 0, 0, time.');