2012-03-05 3 views
2

문자열로 주어진이 종류의 데이터를 08 : 00 : 43.771로 변환하려면 어떻게해야합니까?이 시간 인스턴스에 해당하는 자정 이후의 밀리 초 수를 지정하는 숫자로 변환합니까?MATLAB - 타임 스탬프 작업

답변

4

저는 일반적으로 Matlab의 타임 스탬프 용 Matlab datenum 출력을 사용합니다. Datenum은 0/000 년 이후의 일 수이며, double로 표시됩니다 (배정 밀도는 현대 날짜의 경우 약 14 usec입니다).

datenums 사용.

이상한 문자열 형식에 대한
currentDateTime1 = datenum('08:00:43.771');   %Assumes today 
currentDateTime2 = datenum('6/8/1975 08:00:43.771'); %Using an explicit date 

millisecondsSinceMidnight = mod(currentDateTime1 ,1) *24*60*60*1000; %Mod 1 removes any day component 
millisecondsSinceMidnight = mod(currentDateTime2 ,1) *24*60*60*1000; %Then this is just a unit conversion 

는 문자열 형식 지정자를 받아 들일 수 datenum의 확장 된 형태를 사용합니다.

0

1000*etime(datevec('08:00:43.771'),datevec('0:00'))을 사용하여 자정 이후로 밀리 초를 지정하십시오. etime은 두 개의 날짜 벡터 사이의 초 수를 제공합니다. datevec은 문자열을 날짜 벡터로 변환합니다 (시간 만 주어지면 올해 1 월 1 일이라고 가정).