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.

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by