08:00:43.771の文字列を、この時刻インスタンスに対応する午前0時からのミリ秒数を指定する数値に変換するにはどうすればよいですか?MATLAB - タイムスタンプを使って作業する
2
A
答えて
4
私はMatlabのタイムスタンプにMatlab datenum出力を使用します。日付は、00/00/00からの日数で、倍精度で表されます(倍精度の数値は、現代の日付では約14 usecです)。
datenumを使用する。異常なストリング・フォーマットについて
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
は、2つの日付ベクトルの間の秒数を指定します。datevec
は、文字列を日付ベクトルに変換します(時間が与えられた場合は今年1月と仮定します)。