Main Content

dateshift

날짜 이동 또는 날짜/시간의 시퀀스 생성

설명

예제

t2 = dateshift(t,'start',unit)datetime형 배열 t의 각 값을 unit으로 지정된 시간 단위의 시작 시점으로 되돌립니다. 출력 인수 t2t와 크기가 동일합니다.

예를 들어, 2021년 6월 27일 오전 9시 14분을 시의 시작으로 이동하면 이동한 값은 2021년 6월 27일 오전 9시입니다. 이 값을 월의 시작으로 이동하면 이동한 값은 2021년 6월 1일 오전 12시입니다.

예제

t2 = dateshift(t,'end',unit)은 값을 unit으로 지정된 시간 단위의 끝으로 이동합니다.

  • 일, 시, 분, 초의 끝은 다음 일, 시, 분, 초의 시작이기도 합니다. 예를 들어, 2021년 6월 27일 오전 9시 14분을 시의 끝으로 이동하면 이동한 값은 2021년 6월 27일 오전 10시입니다.

  • 연, 사분기, 월, 주의 끝은 연, 사분기, 월, 주의 마지막 날의 시작인 자정입니다. 예를 들어, 2021년 6월 27일 오전 9시 14분을 월의 끝으로 이동하면 이동한 값은 2021년 6월 30일 오전 12시입니다.

예제

t2 = dateshift(t,'dayofweek',dow)는 배열 t의 각 datetime형 값이 속한 주 또는 그 이후 주의 지정된 요일로 이동합니다. t의 날짜가 이미 그 주의 지정된 요일과 일치하는 경우 dateshift는 동일한 날짜를 반환합니다.

예제

t2 = dateshift(t,'dayofweek','weekend')는 배열 t의 각 datetime형 값이 속한 주 또는 그 이후 주의 주말(토요일 또는 일요일 중 하나)로 이동합니다.

예제

t2 = dateshift(t,'dayofweek','weekday')는 배열 t의 각 datetime형 값이 속한 주 또는 그 이후 주의 평일(월요일-금요일)로 이동합니다.

예제

t2 = dateshift(___,rule)은 배열 t의 각 값을 rule로 지정된 패턴에 따라 이동합니다. 이 구문은 위에 열거된 구문 중 하나의 인수에 사용할 수 있습니다.

예제

모두 축소

현재 날짜를 사용하여 datetime형 값을 만듭니다.

t = datetime('today')
t = datetime
   12-Aug-2022

날짜를 연의 시작으로 이동합니다.

t2 = dateshift(t,'start','year')
t2 = datetime
   01-Jan-2022

현재 날짜를 사용하여 datetime형 값을 만듭니다.

t = datetime('today')
t = datetime
   12-Aug-2022

날짜를 같은 달의 끝으로 이동합니다.

t2 = dateshift(t,'end','month')
t2 = datetime
   31-Aug-2022

datetime형 값을 만듭니다.

t = datetime('today')
t = datetime
   12-Aug-2022

날짜를 다음 달의 시작으로 이동합니다.

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

날짜를 다음 달의 끝으로 이동합니다.

t3 = dateshift(t,'end','month','next')
t3 = datetime
   30-Sep-2022

datetime형 배열을 만듭니다. 요일과 날짜를 표시하도록 형식을 지정합니다.

날짜로 구성된 배열을 다음 금요일로 이동합니다.

t = [datetime(2014,08,03) datetime(2014,04,15)];
t.Format = 'eeee, dd MMM yyyy'
t = 1x2 datetime
   Sunday, 03 Aug 2014    Tuesday, 15 Apr 2014

날짜를 다음 금요일로 이동합니다.

t2 = dateshift(t,'dayofweek','Friday')
t2 = 1x2 datetime
   Friday, 08 Aug 2014   Friday, 18 Apr 2014

날짜를 이전 월요일로 이동합니다.

t3 = dateshift(t,'dayofweek','Monday','previous')
t3 = 1x2 datetime
   Monday, 28 Jul 2014   Monday, 14 Apr 2014

datetime형 배열을 만듭니다. 요일과 날짜를 표시하도록 형식을 지정합니다.

t = [datetime(2021,5,30) datetime(2021,6,4)];
t.Format = 'eeee, dd MMM yyyy'
t = 1x2 datetime
   Sunday, 30 May 2021   Friday, 04 Jun 2021

t의 각 값이 속한 주 또는 그 다음 주의 첫 번째 주말로 이동합니다. 일요일은 이미 주말이므로 첫 번째 datetime형 값은 이동하지 않습니다. 그러나, 두 번째 값은 금요일에서 일요일로 이동합니다.

t2 = dateshift(t,'dayofweek','weekend')
t2 = 1x2 datetime
   Sunday, 30 May 2021     Saturday, 05 Jun 2021

datetime형 배열을 만듭니다. 요일과 날짜를 표시하도록 형식을 지정합니다.

t = [datetime(2021,5,30) datetime(2021,6,4)];
t.Format = 'eeee, dd MMM yyyy'
t = 1x2 datetime
   Sunday, 30 May 2021   Friday, 04 Jun 2021

t의 각 값이 속한 주 또는 그 다음 주의 첫 번째 평일로 이동합니다. 일요일은 월요일로 이동합니다. 그러나, 금요일은 이미 평일이므로 두 번째 datetime형 값은 이동하지 않습니다.

t2 = dateshift(t,'dayofweek','weekday')
t2 = 1x2 datetime
   Monday, 31 May 2021   Friday, 04 Jun 2021

오늘부터 다섯 번째 주의 끝에 해당하는 날짜를 구합니다.

t = datetime('today');
t.Format = 'eeee, dd MMM yyyy'
t = datetime
   Friday, 12 Aug 2022

t2 = dateshift(t,'end','week',5)
t2 = datetime
   Saturday, 17 Sep 2022

다음 세 번의 금요일에 해당하는 날짜 시퀀스를 생성합니다.

t = datetime('today')
t = datetime
   12-Aug-2022

t2 = dateshift(t,'dayofweek','Friday',1:3)
t2 = 1x3 datetime
   12-Aug-2022   19-Aug-2022   26-Aug-2022

입력 인수

모두 축소

날짜/시간 입력값으로, datetime형 배열로 지정됩니다.

시간 단위로, 다음 값 중 하나로 지정됩니다.

  • 'year'

  • 'quarter'

  • 'month'

  • 'week'

  • 'day'

  • 'hour'

  • 'minute'

  • 'second'

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

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

요일의 이름 또는 요일 번호로, 현지화된 요일 이름 또는 17 사이의 정수인 string형 스칼라 또는 문자형 벡터로 지정됩니다.

17 사이의 정수는 다음 표에 나와 있는 것처럼 요일과 대응됩니다.

1

일요일

2

월요일

3

화요일

4

수요일

5

목요일

6

금요일

7

토요일

예: 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번 적용한 것과 동일합니다.

정수로 구성된 배열

rule의 대응하는 정수로 지정된 규칙에 따라 t의 각 값을 이동합니다.

입력 인수 trule은 크기가 동일하거나 둘 중 하나가 스칼라여야 합니다.

datetime형 값이 'dayofweek' 인수와 일치하는 경우의 동작

'dayofweek'를 지정하고, 또한 지정된 요일에 해당하는 datetime형 값이 t에 포함된 경우, dateshift는 이러한 datetime형 값을 지정된 요일의 다음 발생일이나 이전 발생일로 간주합니다.

예를 들어, 2015년 12월 24일이 목요일이므로 dateshift(datetime(2015,12,24),'dayofweek','Thursday',rule)rule'next', 'previous', 'nearest', 1, -1 중 하나인 경우 날짜가 2015년 12월 24일인 datetime형 값을 반환합니다.

확장 기능

버전 내역

R2014b에 개발됨

참고 항목

|