How to go from datetime (yyyy:mm: dd hh:mm:ss) to seconds?

15 views (last 30 days)
I have a timestamp variable with the following output (size: 1207x1):
'2023-06-27 08:31:05'
'2023-06-27 08:31:06'
'2023-06-27 08:31:07'
'2023-06-27 08:31:08'
etc.
How do I turn this into a variable where it is only seconds?
I tried the function datevec, but after every minute the seconds get to zero again, but I want the amount of seconds to continue after a minute.
Thanks in advance!
  4 Comments
Stephen23
Stephen23 on 4 Jul 2023
Edited: Stephen23 on 5 Jul 2023
MATLAB does not have a TIME2NUM function. The Predictive Maintenance toolbox has such a function.
The MATLAB approach is to use a DATETIME variable and then call TIMEOFDAY and SECONDS (all of which are actual MATLAB functions):
C = {'2023-06-27 08:31:05';'2023-06-27 08:31:06';'2023-06-27 08:31:07';'2023-06-27 08:31:08'};
T = datetime(C)
T = 4×1 datetime array
27-Jun-2023 08:31:05 27-Jun-2023 08:31:06 27-Jun-2023 08:31:07 27-Jun-2023 08:31:08
V = seconds(timeofday(T))
V = 4×1
30665 30666 30667 30668
Peter Perkins
Peter Perkins on 17 Jul 2023
Or maybe "seconds since some origin"
C = ["2023-06-27 08:31:05";"2023-06-27 08:31:06";"2023-06-27 08:31:07";"2023-06-27 08:31:08"];
T = datetime(C)
T = 4×1 datetime array
27-Jun-2023 08:31:05 27-Jun-2023 08:31:06 27-Jun-2023 08:31:07 27-Jun-2023 08:31:08
s = T - "1-Jan-2023"; s.Format = 's'
s = 4×1 duration array
1.5323e+07 sec 1.5323e+07 sec 1.5323e+07 sec 1.5323e+07 sec
seconds(s) % as numeric
ans = 4×1
15323465 15323466 15323467 15323468

Sign in to comment.

Accepted Answer

Ilse Frans
Ilse Frans on 4 Jul 2023
Nevermind, tried the function time2num and worked :)

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!