Any workaround to convert duration (seconds, hours, etc...) to a numeric value (double)

 Réponse acceptée

Steven Lord
Steven Lord le 28 Fév 2022
Use seconds, hours, etc. depending on how you want the duration array to be converted to a number.
d = duration(1, 2, 3)
d = duration
01:02:03
s = seconds(d)
s = 3723
m = minutes(d)
m = 62.0500
h = hours(d)
h = 1.0342

4 commentaires

Camilo G.
Camilo G. le 2 Mar 2022
what i really looking its for the numerical value as "double" data type. By using the suggested functions im still getting the output as a "duration" data type.
Walter Roberson
Walter Roberson le 2 Mar 2022
No, those outputs s, m, h are double() not duration()
If the input to seconds() is a double then it constructs a duration() of that many seconds long.
If the input to seconds() is a duration then it examines the duration information and converts units to seconds as a double()
eko supriyadi
eko supriyadi le 17 Oct 2022
and how to convert duration 901 days to 901 (numeric only)?
When you apply minutes() or seconds() or days() or hours() to a double, then a duration object is created.
When you apply those functions to duration objects, double values are created.
For example
hours(days(7.2))

Connectez-vous pour commenter.

Plus de réponses (1)

Korosh Agha Mohammad Ghasemi
Déplacé(e) : Voss le 25 Juin 2024

0 votes

To convert a duration object to a numeric value (double) in MATLAB, you can use functions like seconds, minutes, hours, etc., depending on the units you want to convert to. These functions will convert the duration to a numeric value representing the number of seconds, minutes, or hours, respectively.
Here is an example of how to do this:
% Create a duration object
d = duration(1, 2, 3); % 1 hour, 2 minutes, 3 seconds
% Convert the duration to numeric values in different units
secondsValue = seconds(d); % Convert to seconds
minutesValue = minutes(d); % Convert to minutes
hoursValue = hours(d); % Convert to hours
% Display the results
disp(['Duration in seconds: ', num2str(secondsValue)]);
disp(['Duration in minutes: ', num2str(minutesValue)]);
disp(['Duration in hours: ', num2str(hoursValue)]);
In this example:
  • seconds(d) converts the duration to seconds and returns it as a double value.
  • minutes(d) converts the duration to minutes.
  • hours(d) converts the duration to hours.

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by