이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
날짜/시간 시퀀스 생성하기
양 끝점 간 간격을 스텝 크기로 구분한 datetime형 시퀀스나 duration형 시퀀스 생성하기
이 예제에서는 규칙적인 간격의 숫자형 벡터를 생성하는 것과 동일한 방식으로 콜론(:) 연산자를 사용하여 datetime
형 값 또는 duration
형 값 시퀀스를 생성하는 방법을 보여줍니다.
디폴트 스텝 크기 사용
2013년 11월 1일에 시작하여 2013년 11월 5일에 끝나는 datetime형 값 시퀀스를 생성합니다. 디폴트 스텝 크기는 달력상의 1일입니다.
t1 = datetime(2013,11,1,8,0,0); t2 = datetime(2013,11,5,8,0,0); t = t1:t2
t = 1x5 datetime
Columns 1 through 3
01-Nov-2013 08:00:00 02-Nov-2013 08:00:00 03-Nov-2013 08:00:00
Columns 4 through 5
04-Nov-2013 08:00:00 05-Nov-2013 08:00:00
스텝 크기 지정
caldays
함수를 사용하여 달력상의 일수로 2일의 스텝 크기를 지정합니다.
t = t1:caldays(2):t2
t = 1x3 datetime
01-Nov-2013 08:00:00 03-Nov-2013 08:00:00 05-Nov-2013 08:00:00
일수 이외의 단위로 스텝 크기를 지정합니다. 18시간 간격으로 datetime형 값 시퀀스를 생성합니다.
t = t1:hours(18):t2
t = 1x6 datetime
Columns 1 through 3
01-Nov-2013 08:00:00 02-Nov-2013 02:00:00 02-Nov-2013 20:00:00
Columns 4 through 6
03-Nov-2013 14:00:00 04-Nov-2013 08:00:00 05-Nov-2013 02:00:00
years
, days
, minutes
, seconds
함수를 사용하여 고정 길이 날짜/시간 단위를 사용하면, datetime형 시퀀스나 duration형 시퀀스를 만들 수 있습니다. 0분 ~ 3분 범위에서 30초 단위로 증분하는 duration형 값 시퀀스를 생성합니다.
d = 0:seconds(30):minutes(3)
d = 1x7 duration
0 sec 30 sec 60 sec 90 sec 120 sec 150 sec 180 sec
고정 길이 duration형 및 calendarDuration형 스텝 크기 비교
t1
및 t2
에 표준 시간대를 할당합니다. America/New_York
표준 시간대에서, t1
은 일광 절약 시간제 해제 바로 전날입니다.
t1.TimeZone = 'America/New_York'; t2.TimeZone = 'America/New_York';
스텝 크기를 달력상의 1일로 하여 시퀀스를 생성하면 연속된 datetime
형 값 간의 차분이 항상 24시간이 되지는 않습니다.
t = t1:t2; dt = diff(t)
dt = 1x4 duration
24:00:00 25:00:00 24:00:00 24:00:00
1일 고정 길이 간격으로 datetime형 값 시퀀스를 생성합니다.
t = t1:days(1):t2
t = 1x5 datetime
Columns 1 through 3
01-Nov-2013 08:00:00 02-Nov-2013 08:00:00 03-Nov-2013 07:00:00
Columns 4 through 5
04-Nov-2013 07:00:00 05-Nov-2013 07:00:00
연속된 datetime
형 값 사이의 차분이 24시간인지 확인합니다.
dt = diff(t)
dt = 1x4 duration
24:00:00 24:00:00 24:00:00 24:00:00
정수 스텝 크기
정수로 스텝 크기를 지정하면 24시간 일수로 해석됩니다.
t = t1:1:t2
t = 1x5 datetime
Columns 1 through 3
01-Nov-2013 08:00:00 02-Nov-2013 08:00:00 03-Nov-2013 07:00:00
Columns 4 through 5
04-Nov-2013 07:00:00 05-Nov-2013 07:00:00
기간이나 달력 기간을 더하여 날짜 시퀀스 생성하기
이 예제에서는 기간(duration) 또는 달력 기간(calendar duration)을 날짜/시간에 더하여 datetime형 값 시퀀스를 생성하는 방법을 보여줍니다.
2013년 11월 1일 오전 8시를 나타내는 datetime형 스칼라를 생성합니다.
t1 = datetime(2013,11,1,8,0,0);
고정 길이 시간 시퀀스를 날짜/시간에 더합니다.
t = t1 + hours(0:2)
t = 1x3 datetime
01-Nov-2013 08:00:00 01-Nov-2013 09:00:00 01-Nov-2013 10:00:00
달력상의 월수(calendar months)를 나타내는 시퀀스를 날짜/시간에 더합니다.
t = t1 + calmonths(1:5)
t = 1x5 datetime
Columns 1 through 3
01-Dec-2013 08:00:00 01-Jan-2014 08:00:00 01-Feb-2014 08:00:00
Columns 4 through 5
01-Mar-2014 08:00:00 01-Apr-2014 08:00:00
t
의 각 날짜/시간은 매달 첫째 날에 해당합니다.
t
의 날짜가 한 달 간격인지 확인합니다.
dt = caldiff(t)
dt = 1x4 calendarDuration
1mo 1mo 1mo 1mo
각 날짜 사이의 일수를 확인합니다.
dt = caldiff(t,'days')
dt = 1x4 calendarDuration
31d 31d 28d 31d
달력상의 월수(calendar months)를 2014년 1월 31일 날짜에 더하여 매달 마지막 날에 해당하는 날짜 시퀀스를 생성합니다.
t = datetime(2014,1,31) + calmonths(0:11)
t = 1x12 datetime
Columns 1 through 5
31-Jan-2014 28-Feb-2014 31-Mar-2014 30-Apr-2014 31-May-2014
Columns 6 through 10
30-Jun-2014 31-Jul-2014 31-Aug-2014 30-Sep-2014 31-Oct-2014
Columns 11 through 12
30-Nov-2014 31-Dec-2014
날짜 시퀀스 또는 기간 시퀀스의 길이와 끝점 지정하기
이 예제에서는 linspace
함수를 사용하여 두 개의 지정된 끝점 사이에 있는 균일한 간격의 datetime형 값 또는 duration형 값을 생성하는 방법을 보여줍니다.
2014년 4월 14일에서 2014년 8월 4일 사이에 있는 균일한 간격의 5개 날짜로 구성된 시퀀스를 생성합니다. 먼저, 끝점을 정의합니다.
A = datetime(2014,04,14); B = datetime(2014,08,04);
linspace
에 대한 세 번째 입력값은 끝점 사이에 생성할 선형 간격으로 배치된 점의 개수를 지정합니다.
C = linspace(A,B,5)
C = 1x5 datetime
14-Apr-2014 12-May-2014 09-Jun-2014 07-Jul-2014 04-Aug-2014
1시간에서 5.5시간 사이에 있는 균일한 간격의 6개 기간으로 구성된 시퀀스를 생성합니다.
A = duration(1,0,0); B = duration(5,30,0); C = linspace(A,B,6)
C = 1x6 duration
01:00:00 01:54:00 02:48:00 03:42:00 04:36:00 05:30:00
달력 규칙을 사용한 datetime형 값 시퀀스
이 예제에서는 dateshift
함수를 사용하여 각 인스턴스가 달력 단위 또는 시간 단위 관련 규칙을 따르는 날짜/시간 시퀀스를 생성하는 방법을 보여줍니다. 예를 들어, 각 날짜/시간은 월의 시작 시점, 특정 요일 또는 분의 끝 시점에 해당해야 합니다. 시퀀스로 생성되는 결과 datetime형 값은 반드시 균일한 간격일 필요는 없습니다.
특정 요일의 날짜
다음 세 번의 월요일에 해당하는 날짜 시퀀스를 생성합니다. 먼저, 오늘의 날짜를 정의합니다.
t1 = datetime('today','Format','dd-MMM-yyyy eee')
t1 = datetime
24-Jul-2022 Sun
dateshift
에 대한 첫 번째 입력값은 시퀀스를 생성하는 데 사용할 datetime
형 배열이어야 합니다. 'dayofweek'
를 두 번째 입력값으로 지정하여 지정한 특정 요일에 해당하는 datetime형 값을 출력값 시퀀스에 나타냅니다. 요일은 숫자나 이름으로 지정할 수 있습니다. 예를 들어, 월요일은 2
또는 'Monday'
로 지정할 수 있습니다.
t = dateshift(t1,'dayofweek',2,1:3)
t = 1x3 datetime
25-Jul-2022 Mon 01-Aug-2022 Mon 08-Aug-2022 Mon
월 시작 날짜
2014년 4월 1일부터 월 시작 날짜로 구성된 시퀀스를 생성합니다. 'start'
를 dateshift
에 대한 두 번째 입력값으로 지정하여 출력 시퀀스의 모든 datetime형 값이 특정 시간 단위의 시작 시점에 해당해야 함을 나타냅니다. 세 번째 입력 인수는 시간 단위를 정의합니다. 이 경우에는 월입니다. dateshift
에 대한 마지막 입력값으로 t1
의 값이 이동하는 방식을 지정하는 정수형 배열이 올 수 있습니다. 이 경우, 0
은 현재 달의 시작에 해당하고, 4
는 t1
에서 네 번째 달의 시작에 해당합니다.
t1 = datetime(2014,04,01); t = dateshift(t1,'start','month',0:4)
t = 1x5 datetime
01-Apr-2014 01-May-2014 01-Jun-2014 01-Jul-2014 01-Aug-2014
월 마지막 날짜
2014년 4월 1일부터 시작하는 월 마지막 날짜 시퀀스를 생성합니다.
t1 = datetime(2014,04,01); t = dateshift(t1,'end','month',0:2)
t = 1x3 datetime
30-Apr-2014 31-May-2014 30-Jun-2014
각 날짜 사이의 일수를 확인합니다.
dt = caldiff(t,'days')
dt = 1x2 calendarDuration
31d 30d
날짜는 균일한 간격이 아닙니다.
기타 날짜/시간 단위
주, 일, 시간과 같은 다른 시간 단위를 지정할 수 있습니다.
t1 = datetime('now')
t1 = datetime
24-Jul-2022 22:18:12
t = dateshift(t1,'start','hour',0:4)
t = 1x5 datetime
Columns 1 through 3
24-Jul-2022 22:00:00 24-Jul-2022 23:00:00 25-Jul-2022 00:00:00
Columns 4 through 5
25-Jul-2022 01:00:00 25-Jul-2022 02:00:00
과거 날짜/시간 항목
과거 시간부터 시작하는 datetime형 값 시퀀스를 생성합니다. dateshift
에 대한 마지막 입력값에 포함된 음의 정수는 t1
보다 이전인 datetime형 값에 해당합니다.
t = dateshift(t1,'start','hour',-1:1)
t = 1x3 datetime
24-Jul-2022 21:00:00 24-Jul-2022 22:00:00 24-Jul-2022 23:00:00