ドキュメンテーション

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

dateshift

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

構文

t2 = dateshift(t,'start',unit)
t2 = dateshift(t,'end',unit)
t2 = dateshift(t,'dayofweek',dow)
t2 = dateshift(___,rule)

説明

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

   02-Aug-2018

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

t2 = dateshift(t,'end','month')
t2 = datetime

   31-Aug-2018

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

t = datetime('today')
t = datetime
   02-Aug-2018

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

t2 = dateshift(t,'start','month','next')
t2 = datetime
   01-Sep-2018

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

t2 = dateshift(t,'end','month','next')
t2 = datetime
   30-Sep-2018

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

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

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

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

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

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

t = datetime('today')
t = datetime
   02-Aug-2018

t2 = dateshift(t,'end','week',5)
t2 = datetime
   08-Sep-2018

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

t = datetime('today')
t = datetime
   02-Aug-2018

t2 = dateshift(t,'dayofweek','Friday',1:3)
t2 = 1x3 datetime array
   03-Aug-2018   10-Aug-2018   17-Aug-2018

入力引数

すべて折りたたむ

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

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

  • 'year'

  • 'quarter'

  • 'month'

  • 'week'

  • 'day'

  • 'hour'

  • 'minute'

  • 'second'

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

例: 'Sunday'

例: 1

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

datetime 値をシフトするルール。文字ベクトル、string スカラー、スカラー整数、整数値の配列のいずれかとして指定します。rule が文字ベクトルまたは string の場合、次のいずれかでなければなりません。

rule の値説明
'next'datetime を次の時間単位または指定曜日にシフトします。
曜日の既定ルールです。
'previous'datetime を前の時間単位または指定曜日にシフトします。
'nearest'datetime を最も近い時間単位または指定曜日にシフトします。
'current'datetime を現在の時間単位内で、あるいは現在の週の指定曜日にシフトします。
時間単位の既定ルールです。

rule が整数または整数の配列の場合は次のようになります。

  • 入力引数 unit を使用する場合、0 はそれぞれの datetime の現在の単位の始点または終点に対応し、1 は次の単位、-1 は前の単位に対応し、以下同様になります。

  • 入力引数 dow を使用する場合、0 はそれぞれの datetime の現在の週の指定曜日に一致し、1 は翌週の指定曜日、-1 は前の週の指定曜日に一致し、以下も同様です。

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

'dayofweek' が指定され、t にその曜日に該当する datetime 値が含まれる場合、dateshift はそれらの datetime 値を次の週または前の週の指定曜日として扱います。たとえば、dateshift(datetime(2015,12,24),'dayofweek','thu',rule) は、rule'next''previous'1 または -1 である場合に、2015 年 12 月 24 日の日付をもつ datetime 値を返します。これは、2015 年 12 月 24 日が木曜日だからです。

拡張機能

参考

|

R2014b で導入