How to do basic time arithmetic when NaNs are involved
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I have the following table and I simply want to calculate the elapsed time between start and end points. My main problem is that I dont know how to handle the NaNs. The desired output is elapsed_time (in hours).
start_date = {NaN, '2019-05-21 00:00:00', '2019-05-22 00:00:00', '2019-05-23 00:00:00'}'
start_time = {'13:00', NaN, '01:00', '04:00'}'
end_date = {'2019-05-20 00:00:00', '2019-05-21 00:00:00', NaN, '2019-05-23 00:00:00'}'
end_time = {'14:00', '03:00', NaN, '05:00'}'
T = table(start_date, start_time, end_date, end_time)
% Desired output
T.elapsed_time = {NaT, NaT, NaT, '01:00'}'
Thank you,
0 Kommentare
Antworten (1)
Steven Lord
am 24 Mai 2020
Replace the NaN numeric values in your date cell arrays with 'NaT' and the NaN numeric values in your time cell arrays with 'NaN'. When I did this in release R2020a I was able to convert the dates to datetime arrays and the times to duration arrays by calling datetime and duration (with a value for the InputFormat option) respectively. Then just add and subtract them using + and -.
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!