Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

dateshift

日付のシフトと日付および時刻のシーケンスの生成

説明

t2 = dateshift(t,'start',unit) は、datetime 配列 t の各値を unit で指定された時間単位の最初の値に後方シフトします。出力 t2 は、t と同じサイズです。

t2 = dateshift(t,'end',unit) は、各値を unit で指定された時間単位の最後の値に前方シフトします。日、時、分、秒の最後の値は、次の時間単位の最初の値でもあります。たとえば 1 日の終わりは次の日が始まる午前 0 時です。年、四半期、月、週の最後の値は、その期間の最終日が始まる午前 0 時です。

t2 = dateshift(t,'dayofweek',dow) は、配列 t のそれぞれの datetime 値について、次に指定した曜日になる日付を返します。t の日付が指定した曜日の場合、dateshift は同じ日付を返します。

t2 = dateshift(___,rule) は、配列 t の各値を rule で指定されたパターンに従ってシフトします。この構文では、前述の構文の引数のいずれかを使用できます。

すべて折りたたむ

現在の日付を定義します。

t = datetime('today')
t = datetime
   30-Apr-2021

日付を同じ月の最終日にシフトします。

t2 = dateshift(t,'end','month')
t2 = datetime
   30-Apr-2021

現在の日付を定義します。

t = datetime('today')
t = datetime
   30-Apr-2021

日付を次の月の初日にシフトします。

t2 = dateshift(t,'start','month','next')
t2 = datetime
   01-May-2021

日付を次の月の最終日にシフトします。

t2 = dateshift(t,'end','month','next')
t2 = datetime
   31-May-2021

配列の各日付を次の金曜日にシフトします。

t = datetime([2014,08,03;2014,04,15])
t = 2x1 datetime
   03-Aug-2014
   15-Apr-2014

t2 = dateshift(t,'dayofweek','Friday')
t2 = 2x1 datetime
   08-Aug-2014
   18-Apr-2014

配列の各日付を前の月曜日にシフトします。

t2 = dateshift(t,'dayofweek','Monday','previous')
t2 = 2x1 datetime
   28-Jul-2014
   14-Apr-2014

今日から数えて 5 週目の最終日の日付を求めます。

t = datetime('today')
t = datetime
   30-Apr-2021

t2 = dateshift(t,'end','week',5)
t2 = datetime
   05-Jun-2021

次の 3 回の金曜日で構成される日付のシーケンスを生成します。

t = datetime('today')
t = datetime
   30-Apr-2021

t2 = dateshift(t,'dayofweek','Friday',1:3)
t2 = 1x3 datetime
   30-Apr-2021   07-May-2021   14-May-2021

入力引数

すべて折りたたむ

入力の日付と時刻。datetime 配列として指定します。

時間の単位。次のいずれかの値として指定します。

  • 'year'

  • 'quarter'

  • 'month'

  • 'week'

  • 'day'

  • 'hour'

  • 'minute'

  • 'second'

例: t2 = dateshift(t,'start','hour')

例: t2 = dateshift(t,'end','month')

曜日。曜日の番号を示すスカラー整数、あるいはローカライズされた曜日名を含む文字ベクトルまたは string スカラーとして指定します。

例: t2 = dateshift(t,'dayofweek','Sunday')

例: t2 = dateshift(t,'dayofweek',1)

datetime 値をシフトするルール。'next''previous''nearest''current'、スカラー整数、整数の配列のいずれかとして指定します。

次の表では、datetime 値をシフトするルールを説明します。

規則説明

'next'

datetime 値を次の時間単位または指定曜日にシフトします。

メモ: このルールは、'dayofweek' 入力引数の既定ルールです。

'previous'

datetime 値を前の時間単位または指定曜日にシフトします。

'nearest'

datetime 値を最も近い時間単位または指定曜日にシフトします。

実質的には、このルールでは datetime 値が丸められます。

'current'

datetime 値を現在の時間単位内で、あるいは現在の週の指定曜日にシフトします。

メモ: このルールは、'start' 入力引数と 'end' 入力引数の既定ルールです。

1

'next' ルールと等価です。

n (n > 1)

'next' ルールを n 回適用することと等価です。

0

'current' ルールと等価です。

-1

'previous' ルールと等価です。

-n (n > 1)

'previous' ルールを n 回適用することと等価です。

整数の配列

t の各値を rule の対応する整数で指定されたルールに従ってシフトします。

入力引数 t および rule は同じサイズであるか、一方がスカラーでなければなりません。

datetime 値が 'dayofweek' 引数と一致する場合の動作

'dayofweek' が指定され、t にその指定曜日に該当する datetime 値が含まれる場合、dateshift はそれらの datetime 値を次の週または前の週の指定曜日として扱います。

たとえば、dateshift(datetime(2015,12,24),'dayofweek','Thursday',rule) は、rule'next''previous''nearest'1 または -1 である場合に、2015 年 12 月 24 日の日付をもつ datetime 値を返します。これは、2015 年 12 月 24 日が木曜日だからです。

拡張機能

参考

|

R2014b で導入