メインコンテンツ

between

カレンダーの差分の計算

説明

between 関数は、2 つの datetime 配列のカレンダーの差を返します。between が 2 つの datetime 値のカレンダーの差を計算するとき、うるう年、夏時間のシフト、およびカレンダー月の長さの違いが考慮されます。差を正確な固定長の期間として計算するには、代わりに、dt = t2 - t1 のように減算を使用します。

dt = between(t1,t2) は、t1t2 の datetime 値の差分を返します。dt の出力は差分をカレンダー成分 (年、月、日、時刻) で表した calendarDuration 配列で、t2 = t1+dt になります。

dt = between(t1,t2,components) は、指定されたカレンダー成分または時刻の成分で表した datetime 値の差分を返します。

すべて折りたたむ

2 つの datetime 配列を作成します。

t1 = datetime('now')
t1 = datetime
   09-Aug-2025 12:09:14

t2 = datetime('tomorrow','Format','dd-MMM-yyyy HH:mm:ss') + caldays(0:2)
t2 = 1×3 datetime
   10-Aug-2025 00:00:00   11-Aug-2025 00:00:00   12-Aug-2025 00:00:00

2 つの配列の差分を求めます。

dt = between(t1,t2)
dt = 1×3 calendarDuration
      11h 50m 45.749s   1d 11h 50m 45.749s   2d 11h 50m 45.749s

between は、差分を日、時間、分、秒で表した calendarDuration 配列を返します。

6 か月間の datetime のシーケンスを作成します。その後、最初の日付からシーケンスの各日付までの日数を求めます。

t1 = datetime(2013,1,1);
t2 = dateshift(t1,'end','month',0:4)
t2 = 1×5 datetime
   31-Jan-2013   28-Feb-2013   31-Mar-2013   30-Apr-2013   31-May-2013

dt = between(t1,t2,'Days')
dt = 1×5 calendarDuration
    30d    58d    89d   119d   150d

入力引数

すべて折りたたむ

入力の日付と時刻。datetime 配列、文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。入力 t1t2 のうちのどちらかは datetime 配列でなければなりません。t1t2 は、いずれかがスカラー値でない限り、同じサイズでなければなりません。

入力の日付と時刻。datetime 配列、文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。入力 t1t2 のうちのどちらかは datetime 配列でなければなりません。t1t2 は、いずれかがスカラー値でない限り、同じサイズでなければなりません。

カレンダー成分または時刻の成分。次の文字ベクトルの 1 つとして指定するか、これらの値を 1 つ以上含む cell 配列または string 配列として指定します。

  • 'years'

  • 'quarters'

  • 'months'

  • 'weeks'

  • 'days'

  • 'time'

'time' を除き、これらの成分が表す時間の長さは一定ではありません。たとえば 1 か月の時間の長さは、1 月の datetime に追加する場合と 2 月の datetime に追加する場合とで異なります。

between は、カレンダーまたは時刻の成分を大きいものから降順に処理します。

一般に、components'time' を含めない限り、t2t1 + dt と等しくなりません。

例: {'years','quarters'}

データ型: char | cell | string

出力引数

すべて折りたたむ

差分配列。calendarDuration 配列として返されます。

ヒント

  • t1t2 の datetime 値の差分を正確な固定長の期間として計算するには、t2-t1 を使用します。

拡張機能

すべて展開する

バージョン履歴

R2014b で導入