1

次の形式の 2 つの日付があります。

'16:40:07.875'

'16:41:05.875'

ここで、Matlab を使用して、これら 2 つの日付文字列の差を秒単位で計算しようとしています。最初に日付文字列を日付型に解析するのが最善の方法だと思いましたが、Matlab で日付型が見つかりませんでした。ありますか?そして、差を計算するために使用できる事前構築済みの関数はありますか?

4

2 に答える 2

0

これは、 datenumdatetimeを使用した、あまり賢くなく、かなり長い試みです。他の時間/日付 API について言及するためのソリューションを提供しているだけです。

diffを使用して、差をdurationとして返します。次に、HH:MM:SS デュレーションから秒のみのデュレーションに変換する必要があります。最後に、文字列を分割して最初のトークンを返します。

T1 = '16:40:07.875';
T2 = '16:41:05.875';
dt1 = datetime(datenum(T1,'HH:MM:SS.FFF'),'ConvertFrom','datenum');
dt2 = datetime(datenum(T2,'HH:MM:SS.FFF'),'ConvertFrom','datenum');
timestamps = [dt1 dt2];
seconds_text = char(duration(diff(timestamps),'Format','s'));
items =strsplit(seconds_text);
Dt = str2num(items{1,1});
于 2014-10-14T16:36:01.097 に答える