Converting hh:mm:ss into seconds
282 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
tethys
le 20 Jan 2012
Réponse apportée : Steven Lord
le 1 Sep 2021
Hi all,
I want to read the vectors which are hh:mm:ss (14:35:59.812) format and convert it to seconds. How can I do this in matlab?
Best
0 commentaires
Réponse acceptée
Andreas Goser
le 20 Jan 2012
Is this what you are looking for?
t='14:35:59.812';
[Y, M, D, H, MN, S] = datevec(t);
H*3600+MN*60+S
4 commentaires
per isakson
le 3 Déc 2016
On R2016a I get the expected result
>> dt = datestr( now,'HH:MM:SS,FFF')
dt =
12:58:26,797
Arshey Dhangekar
le 1 Sep 2021
I want to convert Time column ( HH:MM:SS) to min, there is a direct command time2num but it requires toolbox and it's paid.So without using time2num how can I convert into minutes. I tried with datetime also but I got error.
table=readtable('sample.csv'):
times = datetime(table.Time,'InputFormat','HH:mm:ss:SSS');
times = hour(times).*60 + minute(times) + second(times)./60;
Plus de réponses (3)
per isakson
le 20 Jan 2012
The first and the last cell returns the result I think you are looking for. See help on DATENUM
datenum( '14:35:59.812', 'HH:MM:SS.FFF' ) .* (24*60*60) - ...
datenum( '00:00:00.000', 'HH:MM:SS.FFF' ) .* (24*60*60)
datestr( datenum( '00:00:00.000', 'HH:MM:SS.FFF' ), 'yyyy-mm-dd' )
datenum( '14:35:59.812', 'HH:MM:SS.FFF', 0 ) .* (24*60*60)
Peter Seibold
le 18 Avr 2021
About 100 times faster is:
t='14:35:59.812';
seconds=sum(sscanf(t,'%f:%f:%f').*[3600;60;1]);
0 commentaires
Steven Lord
le 1 Sep 2021
t='14:35:59.812';
F = 'hh:mm:ss.SSS';
du = duration(t, 'InputFormat', F, 'Format', F)
format longg % To make s look nicer
s = seconds(du)
0 commentaires
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!