3

私はMatlabが初めてです。datenum 関数を使用して日付文字列を解析し、タイムスタンプに変換しようとしています (Java、getTime() のように)。次に、2 つの日付の違いを秒単位で調べたいと思います。

datenum('2013-02-21T00:39:19Z','yyyy-mm-ddTHH:MM:ss')-datenum('2013-02-21T00:34:19Z','yyyy-mm-ddTHH:MM:ss')

上記の関数を実行すると、0.0035 が得られますが、それがどのような値なのかわかりません。

誰か助けてくれませんか?

ありがとう!

4

2 に答える 2

6

Matlab のヘルプは次のように述べています。

シリアル日付番号は、あらかじめ設定された固定日付 (0000 年 1 月 0 日) からの日数の整数と小数を表します。

あなたの答えはおそらく0.0035日だと思うので、秒を取得するには

ans*24*60*60
于 2013-02-22T13:33:32.063 に答える
6

ダンが言うように、結果はdatenum形式です。しかし、経過時間を秒単位で調べたい場合は、まさに必要なことを行う関数があります。

を使用etimeして、2 つの日付ベクトル間の経過時間を見つけることができます。

d1 = datevec('2013-02-21T00:39:19Z','yyyy-mm-ddTHH:MM:ss');
d2 = datevec('2013-02-21T00:34:19Z','yyyy-mm-ddTHH:MM:ss');

elapsedTime = etime(d1,d2) % Elapsed time in seconds

elapsedTime =

   300
于 2013-02-22T13:37:35.997 に答える