ドキュメンテーション

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

duration

固定長の単位で表す時間の長さ

説明

"duration 配列" の値は、時間、分、秒などの固定長の単位で経過時間を表します。また、固定長 (24 時間) の日数や、固定長 (365.2425 日) の年数でも経過時間を作成できます。

duration 配列は、数値配列の操作と同様に操作できます。duration 配列は、加算、減算、並べ替え、比較、連結およびプロットができます。duration 配列を使用すると、時間や分などの時間単位が関係する datetime 配列の計算が簡略化されます。

作成

時間単位を指定した duration 配列は、関数 yearsdayshoursminutessecondsmilliseconds を使用して作成できます。たとえば、1、2、3 時間の経過時間をもつ配列を作成するには、関数 hours を使用します。

D = hours(1:3)
D = 

  1×3 duration array

   1 hr   2 hr   3 hr

以下に説明する関数 duration を使用して、duration 配列を作成することもできます。

説明

D = duration(H,MI,S)HMI および S で指定される時間、分、秒の数値を含む数値配列から duration 配列を作成します。

D = duration(H,MI,S,MS) は、duration 配列に MS で指定されたミリ秒を追加します。

D = duration(X) は数値行列から duration の列ベクトルを作成します。

D = duration(TimeStrings) は経過時間を表すテキストを duration 配列に変換します。TimeStrings'hh:mm:ss' または 'dd:hh:mm:ss' の形式のいずれかを使用して時間を表さなければなりません。

D = duration(TimeStrings,'InputFormat',infmt) は、infmt で指定された形式を使用してテキストを変換します。

D = duration(___,'Format',displayFormat) は、D の表示形式を追加指定します。このプロパティは、D の表示を変更しますが、その値は変更しません。この構文では、前述の構文の引数のいずれかを使用できます。

入力引数

すべて展開する

時間、分、秒の配列。数値配列として指定します。これらの配列はいずれもスカラーにすることができます。スカラーではない配列はすべて同じサイズでなければなりません。

例: duration(12,45,7) は、12 時間 45 分 7 秒の duration を返します。

ミリ秒の配列。数値配列として指定します。MS はスカラーであるか、入力引数 HMI、および S と同じサイズでなければなりません。

例: duration(12,45,30,35) は、12 時間 45 分 30 秒 35 ミリ秒の duration を返します。

入力行列。数値配列として指定します。X には、それぞれ時間数、分数、秒数の数値を含む 3 列がなければなりません。

例: duration([12 30 16]) は、12 時間 30 分 16 秒の duration を返します。

経過時間を表すテキスト。文字ベクトル、文字ベクトルの cell 配列または string 配列として指定します。関数 duration は、TimeStrings の形式を 'hh:mm:ss' または 'dd:hh:mm:ss' の形式のいずれかに一致させようとします。ここで ddhhmmss は日、時間、分、秒を表します。最後のフィールドには、小数点以下の桁を含めて秒数を小数で表すことができます。

形式が既知の場合は、'InputFormat' とそれに対応する infmt 値を指定します。

例: duration('12:30:16') は、12 時間 30 分 16 秒の duration を返します。

例: duration('00:05:23.86') は、5 分 23.86 秒の duration を返します。

例: duration({'01:34:21';'23:16:54'}) は、2 つの duration を含む列ベクトルを返します。

入力テキストの形式。文字ベクトルまたは string スカラーとして指定します。

次のいずれかの形式で infmt を指定します。ここで、ddhhmmss は日、時間、分、秒を表します。

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

  • 最初の 3 つの形式のいずれかに、秒の小数部を表す文字 S (最大 9 桁) を加えた 'hh:mm:ss.SSSS' のような形式

プロパティ

すべて展開する

表示形式。文字ベクトルまたは string スカラーとして指定します。この形式は、時間単位を伴う単一の数値 ('0.5 yrs' など)、またはデジタル タイマー (時間、分、秒を表す 'hh:mm:ss' など) のいずれかにすることができます。

時間単位を伴う数値には、次のいずれかを指定します。

  • 'y' — 固定長の年数。ここで、1 年は 365.2425 日に等しい

  • 'd' — 固定長の日数。ここで、1 日は 24 時間に等しい

  • 'h' — 時間数

  • 'm' — 分数

  • 's' — 秒数

デジタル タイマー形式には、次のいずれかを指定します。

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

  • 最初の 3 つの形式のいずれかに、秒の小数部を表す文字 S (最大 9 桁) を加えた 'hh:mm:ss.SSSS' のような形式

例: D.Format = 'm'D の各値を分数として表示します。

すべて折りたたむ

datetime 値を作成します。

D = datetime('today')
D = datetime
   03-Feb-2019

日付成分は同じだが時刻成分の異なる各値を含む datetime 配列を作成します。このような配列を作成する便利な方法の 1 つは、duration 配列を D に加算することです。

まず、関数 hours を使用して時間数の配列を作成します。各要素は、その前の要素よりも 2 時間長くなります。

H = hours(0:2:6)
H = 1x4 duration array
   0 hr   2 hr   4 hr   6 hr

次に、DH を加算します。

T = D + H
T = 1x4 datetime array
Columns 1 through 3

   03-Feb-2019 00:00:00   03-Feb-2019 02:00:00   03-Feb-2019 04:00:00

Column 4

   03-Feb-2019 06:00:00

datetime 配列と固定長の時間の算術演算に duration 配列を使用します。

時間数、分数、秒数を入力引数として指定して duration 配列を作成します。2 番目の引数が配列であるため、出力 D は同じサイズの配列です。

D = duration(1,30:33,0)
D = 1x4 duration array
   01:30:00   01:31:00   01:32:00   01:33:00

3 列の数値行列を作成します。列はそれぞれ時間、分、秒を表します。

X = [12 17 54;9 32 3]
X = 2×3

    12    17    54
     9    32     3

行列を duration 配列に変換します。

D = duration(X)
D = 2x1 duration array
   12:17:54
   09:32:03

時間、分、秒で期間を表す文字ベクトルを変換します。

T = '6:34:12';
D = duration(T)
D = duration
   06:34:12

文字ベクトルの cell 配列を変換します。

T = {'12:54:37','8:03:12'};
D = duration(T)
D = 1x2 duration array
   12:54:37   08:03:12

日の成分も含むテキストを変換します。表示用に、duration 配列の既定の形式は日数を時間数に変換します。

T = '1:00:54:21';
D = duration(T)
D = duration
   24:54:21

経過時間を表すテキストの形式を指定してから、それらを duration 配列に変換します。

文字ベクトルを変換します。入力形式は分と秒を表します。出力引数は duration 値で、その形式は時間、分、秒を表します。

T = '78:34';
infmt = 'mm:ss';
D = duration(T,'InputFormat',infmt)
D = duration
   01:18:34

分、秒、および秒の小数部 3 桁を表す形式をもつ文字ベクトルの cell 配列を作成します。

infmt = 'mm:ss.SSS';
T = {'1:34.862' '67:07.218'}
T = 1x2 cell array
    {'1:34.862'}    {'67:07.218'}

T を duration 配列に変換します。時間、分、秒、および秒の小数部を表す duration 配列の形式を指定します。

outfmt = 'hh:mm:ss.SSS';
D = duration(T,'InputFormat',infmt,'Format',outfmt)
D = 1x2 duration array
   00:01:34.862   01:07:07.218

行列から duration 配列を作成します。3 つの列は、それぞれ時間数、分数、秒数を指定します。分数と秒数を示すデジタル タイマー形式で値を表示します。

X = [2 3 16;1 5 59;1 45 0]
X = 3×3

     2     3    16
     1     5    59
     1    45     0

D = duration(X,'Format','mm:ss')
D = 3x1 duration array
   123:16
    65:59
   105:00

ヒント

  • duration 配列を受け入れる関数、または返す関数の詳細については、日付と時刻を参照してください。

拡張機能

R2014b で導入