How to convert a minutes elapsed vector to time (hh:mm)?

조회 수: 17 (최근 30일)
Antonio Taveira
Antonio Taveira 2021년 8월 7일
답변: Peter Perkins 2021년 8월 9일
Hi,
On a continous 24 hour measurement, I have a vector of time elapsed in minutes since the beginning (0 to 1440). I know that the starting time of the measurement is 16:00. How to create a time vector (hh:mm) for each sample? The purpose is to add the time on the x axis of a plot.
My best try is using a loop that goes through each sample, with h (hour) starting at 16 and rounds the minutes. The issue is it must detect every hour change.
Looking forward for some help :)
for i=1:length(meas_SPL_all)
meas_SPL_all(:,3) = {h:round(meas_SPL_all(i,2))}
if round(meas_SPL_all(i,2) > 60
h = h + 1
end

채택된 답변

Walter Roberson
Walter Roberson 2021년 8월 7일
t = hours(16) + minutes(meas_SPL_all(:, 2));
t.Format = 'hh:mm';

추가 답변 (1개)

Peter Perkins
Peter Perkins 2021년 8월 9일
"continous 24 hour measurement" sounds like you are dealing with time of day. If you add 600 minutes to hours(16), you will get
>> hours(16) + minutes(600)
ans =
duration
26 hr
which may not be what you want. If you want this to wrap to 04:00, add to an absolute time.
>> datetime(2021,8,9,16,0,0) + minutes(600)
ans =
datetime
10-Aug-2021 02:00:00

카테고리

Help CenterFile Exchange에서 Spectral Measurements에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by