Borrar filtros
Borrar filtros

Timedata 'dd-mmm-yyyy HH:MM:SS' transform into seconds

2 visualizaciones (últimos 30 días)
Silvio Risse
Silvio Risse el 31 de En. de 2019
Comentada: Peter Perkins el 31 de En. de 2019
Hello,
I got a excel data in xlsx or csv, which looks like in the picture.
The time vector should be transformed into seconds, so i wrote this code.
Matlab throws me an error. How can i transform it into seconds?
Thank you for Help!
NTtemp=xlsread('Data.xlsx');
out=datestr(NTtemp(StartZeitInZeile:end,1),'dd-mmm-yyyy HH:MM:SS');
NTneueZeit=[datenum( out, 'dd-mmm-yyyy HH:MM:SS' ) .* (24*60*60) - datenum( out(1,:), 'dd-mmm-yyyy HH:MM:SS' ) .* (24*60*60)];
NT(:,1)=NTneueZeit;
NT(:,2)=NTtemp(StartZeitInZeile:end,2);

Respuestas (1)

Steven Lord
Steven Lord el 31 de En. de 2019
I would avoid going through datenum and datestr. Instead I would import that column of data as a datetime array (which I believe readtable will do for you automatically.) If you then need the number of seconds since a particular time as an additional variable in that table, that's fairly straightforward. I'm going to compute how many seconds have elapsed since midnight.
rightnow = datetime('now')
lastMidnight = dateshift(rightnow, 'start', 'day')
elapsedSeconds = seconds(rightnow-lastMidnight)
As I type this it's about 10:30 in the morning, so elapsedSeconds should be about 37800 (10.5*3600). Your elapsedSeconds may be different depending on your time zone.
  1 comentario
Peter Perkins
Peter Perkins el 31 de En. de 2019
Better yet ...
elapsedTime = rightnow-lastMidnight
That leaves elapsedTime as a duration, and you no longer need to worry about units.

Iniciar sesión para comentar.

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by