ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

経過時間の計算

経過時間の計算

この例では、異なる日付での午前 8 時 15 分から午後 3 時 45 分までの経過時間の計算方法とその結果の表示方法について説明します。

開始および終了日時を指定します。日時の形式は、文字列でもベクトルでも指定できます。

start  = '20-Apr-2012 8:15';      
finish = [2012 04 23 15 45 00];

関数 datenum を使用して、日付文字列と日付ベクトルをシリアル日付値に変換します。シリアル日付値を使用して経過時間を計算します。

start_n = datenum(start,'dd-mmm-yyyy HH:MM');
finish_n = datenum(finish);

終了日時から開始日時を差し引きます。シリアル日付値を差し引くことにより、日付の有理数が返されます。

n = finish_n - start_n
n =
    3.3125

経過時間は 3.3125 日となります。

関数 datestr を使用して、経過時間を日、時、分で表示します。

days = floor(n);
hrs = datestr(n, 'HH');
mins = datestr(n, 'MM');

fprintf('\n   %d days, %s hours, %s minutes\n', ...
   days, hrs, mins);
   3 days, 07 hours, 30 minutes

未来の日付の計算

日付に加算することで、未来の日付を計算できます。このトピックでは、2 つの計算方法を説明します。

日付をシリアル日付値に加算する

この例では、日付の有理数をシリアル日付値に加算する方法を示します。

関数 now は、現在の日付をシリアル日付値形式で返します。この日付に数値を加算できます。この例では、50 日を加算します。

futuredate = now+50
futuredate =
   7.3500e+05

最初の日付形式が、日付文字列の場合もあります。その場合、関数 datenum を使用して日付をシリアル日付値に変換します。

initialdate = datenum('21.03.2012 13:15','dd.mm.yyyy HH:MM');

日付の有理数を最初の日付に追加します。この例では、5.5 日を加算します。

futuredate = initialdate + 5.5
futuredate =
   7.3496e+05

未来の日付を日付文字列形式に変換できます。

datestr(futuredate,'dd.mm.yyyy HH:MM')
ans =
27.03.2012 01:15

年、月、日または時を日付に加算する

この例では、年、月、日、時、分、秒またはミリ秒の数値をシリアル日付値形式で日付に加算する方法を示します。たとえば、以下の手順に従って、2012 年 1 月 3 日に 5 か月を加算します。

日付文字列をシリアル日付値形式に変換します。

initialdate = datenum('03/01/2012','dd/mm/yyyy');

関数 addtodate を使用して最初の日付に 5 か月を加算します。

futuredate = addtodate(initialdate,5,'month')
futuredate =
      735023

未来の日付を日付文字列に変換するには、関数 datestr を使用します。

datestr(futuredate, 'dddd, mmmm dd')
ans =
Sunday, June 03

参考

| | |

この情報は役に立ちましたか?