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

조회 수: 6 (최근 30일)
Ilse Frans
Ilse Frans 2023년 7월 4일
댓글: Peter Perkins 2023년 7월 17일
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
Stephen23
Stephen23 2023년 7월 4일
편집: Stephen23 2023년 7월 5일
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 2023년 7월 17일
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

댓글을 달려면 로그인하십시오.

채택된 답변

Ilse Frans
Ilse Frans 2023년 7월 4일
Nevermind, tried the function time2num and worked :)

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 NaNs에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by