Main Content

datevec

날짜/시간을 성분 벡터로 변환

설명

예제

참고

날짜와 시간을 날짜 벡터로 나타낼 수 있지만, datetime 값을 사용하여 특정 시점을 나타내고, duration 또는 calendarDuration 값을 사용하여 경과된 시간을 나타내는 것이 좋습니다. 코드 업데이트에 대한 자세한 내용은 버전 내역 또는Replace Discouraged Instances of Serial Date Numbers and Date Strings 항목을 참조하십시오.

DateVector = datevec(t)datetime형 또는 duration형 값 t날짜 벡터로 변환합니다. 즉, 년, 월, 일, 시, 분, 초를 나타내는 t의 6가지 요소로 구성된 숫자형 벡터로 변환됩니다.

tm개의 요소를 갖는 datetime형 배열이거나 duration형 배열인 경우 datevecm×6 행렬을 반환합니다. 여기서 각 행은 t의 값에 대응합니다.

  • tdatetime형 배열이면, 그 값은 특정 시점을 나타냅니다. DateVector의 각 행은 특정 날짜/시간을 나타냅니다.

  • tduration형 배열이면, 그 값은 경과 시간을 나타냅니다. DateVector의 각 행은 고정된 길이의 시간 단위로 측정된 시간을 나타냅니다. 이런 이유로 DateVector의 두 번째 열(월수를 나타냄)의 값은 항상 0입니다. 자세한 내용은 제한 사항 항목을 참조하십시오.

DateVector = datevec(DateString)은 날짜/시간을 나타내는 텍스트를 날짜 벡터로 변환합니다. 텍스트에 사용된 형식을 미리 알고 있는 경우에는 형식을 formatIn으로 지정합니다. formatIn이 없는 구문은 formatIn을 포함하는 구문에 비해 상당히 느립니다.

예제

DateVector = datevec(DateString,formatIn)formatIn을 사용하여 DateString으로 표현된 날짜/시간을 해석합니다.

DateVector = datevec(DateString,PivotYear)PivotYear를 사용하여 연도를 명시하는 두 문자로 된 텍스트를 해석합니다. 텍스트에 사용된 형식을 미리 알고 있는 경우에는 형식을 formatIn으로 지정합니다. formatIn이 없는 구문은 formatIn을 포함하는 구문에 비해 상당히 느립니다.

예제

DateVector = datevec(DateString,formatIn,PivotYear)formatIn을 사용하여 DateString으로 표현된 날짜/시간을 해석하고 PivotYear를 사용하여 연도를 명시하는 두 문자로 된 텍스트를 해석합니다. formatInPivotYear는 순서에 관계없이 지정할 수 있습니다.

예제

[Y,M,D,H,MN,S] = datevec(___)는 날짜 벡터의 성분을 개별 변수 Y, M, D, H, MN, S(연, 월, 일, 시, 분, 초)로 반환합니다. datevec 함수는 밀리초를 초(S) 출력값의 소수부로 반환합니다.

예제

모두 축소

format short g

t = [datetime('now');datetime('tomorrow')]
t = 2x1 datetime
   25-Jan-2024 22:07:56
   26-Jan-2024 00:00:00

DateVector = datevec(t)
DateVector = 2×6

         2024            1           25           22            7       56.118
         2024            1           26            0            0            0

DateString = '28.03.2005';
formatIn = 'dd.mm.yyyy';
datevec(DateString,formatIn)
ans = 1×6

        2005           3          28           0           0           0

datevec'dd.mm.yyyy' 형식을 사용하여 날짜를 나타내는 텍스트에 대한 날짜 벡터를 반환합니다.

셀형 배열 형식으로 여러 날짜로 구성된 문자형 벡터를 전달합니다. 모든 입력 날짜는 형식이 동일해야 합니다.

DateString = {'09/16/2007';'05/14/1996';'11/29/2010'};
formatIn = 'mm/dd/yyyy';
datevec(DateString,formatIn)
ans = 3×6

        2007           9          16           0           0           0
        1996           5          14           0           0           0
        2010          11          29           0           0           0

datevec('11:21:02.647','HH:MM:SS.FFF')
ans = 1×6
103 ×

    2.0240    0.0010    0.0010    0.0110    0.0210    0.0026

출력 날짜 벡터에서 밀리초는 초 필드의 소수부입니다. '11:21:02.647'이라는 텍스트에는 완전한 날짜 벡터로 변환하기에 충분한 정보가 담겨 있지 않습니다. 디폴트 값은 일이 1일이고, 월은 1월이며, 연은 현재 연도입니다.

디폴트 피벗 연도를 사용하여 날짜를 나타내는 텍스트를 날짜 벡터로 변환합니다.

DateString = '12-jun-17';
formatIn = 'dd-mmm-yy';
DateVector = datevec(DateString,formatIn)
DateVector = 1×6

        2017           6          12           0           0           0

1800을 피벗 연도로 사용하여 동일한 날짜를 날짜 벡터로 변환합니다.

DateVector = datevec(DateString,formatIn,1800)
DateVector = 1×6

        1817           6          12           0           0           0

날짜를 나타내는 텍스트를 날짜 벡터로 변환하고 날짜 벡터의 성분을 반환합니다.

[y, m, d, h, mn, s] = datevec('01.02.12','dd.mm.yy')
y = 2012
m = 2
d = 1
h = 0
mn = 0
s = 0

입력 인수

모두 축소

날짜/시간으로, datetime형 또는 duration형 값으로 구성된 배열로 지정됩니다.

데이터형: datetime | duration | calendarDuration

날짜/시간을 나타내는 텍스트로, 각 행이 특정 시점을 나타내는 텍스트를 포함하는 문자형 배열로 지정되거나 문자형 벡터로 구성된 셀형 배열 또는 string형 벡터로 지정됩니다. 문자형 배열의 모든 행, 또는 셀형 벡터나 string형 벡터의 모든 요소는 형식이 동일해야 합니다.

예: '24-Oct-2003 12:45:07'

예: ['19-Sep-2013';'20-Sep-2013';'21-Sep-2013']

예: {'15-Oct-2010' '20-Nov-2012'}

텍스트에 사용된 형식을 미리 알고 있는 경우에는 formatIn도 지정해야 합니다. formatIn을 지정하지 않은 경우 DateString은 다음 형식 중 하나여야 합니다.

날짜/시간을 나타내는 텍스트 형식

'dd-mmm-yyyy HH:MM:SS'

01-Mar-2000 15:45:17

'dd-mmm-yyyy'

01-Mar-2000

'mm/dd/yyyy'

03/01/2000

'mm/dd/yy'

03/01/00

'mm/dd'

03/01

'mmm.dd,yyyy HH:MM:SS'

Mar.01,2000 15:45:17

'mmm.dd,yyyy'

Mar.01,2000

'yyyy-mm-dd HH:MM:SS'

2000-03-01 15:45:17

'yyyy-mm-dd'

2000-03-01

'yyyy/mm/dd'

2000/03/01

'HH:MM:SS'

15:45:17

'HH:MM:SS PM'

3:45:17 PM

'HH:MM'

15:45

'HH:MM PM'

3:45 PM

참고

날짜/시간 형식을 설명하는 기호 식별자는 datetime형 배열의 표시 형식을 설명하는 기호 식별자와 다릅니다.

일부 형식에는 날짜/시간을 나타내는 텍스트 표현 변환에 필요한 정보가 불충분할 수 있습니다. 그런 경우에는 시, 분, 초는 디폴트 값을 0으로 하고, 일은 1로, 월은 1월로, 연은 현재 연도로 합니다. datevecdatenum은 2자로 된 연도(예: '79')를 현재 연도를 중심으로 100년 범위 내에 해당하는 것으로 간주합니다.

formatIn을 지정하지 않은 경우 다음에 주의합니다.

  • 월을 2자리 숫자로 지정하는 형식(mm)의 경우 월 값은 12보다 커서는 안 됩니다.

  • 그러나 'mm/dd/yy' 형식의 경우, 텍스트의 첫 번째 항목이 12보다 크고 두 번째 항목이 12보다 작거나 같으면 datevec 함수는 이 텍스트를 'yy/mm/dd' 형식으로 간주합니다.

날짜/시간을 나타내는 입력 텍스트 형식으로, 기호 식별자로 구성된 문자형 벡터나 string형 스칼라로 지정됩니다.

예: 'dddd, mmm dd, yyyy'

다음 표는 formatIn 문자형 벡터를 생성하는 데 사용할 수 있는 기호 식별자를 보여줍니다. 하이픈, 공백 또는 콜론과 같은 문자를 포함하여 필드를 구분할 수 있습니다.

참고

날짜/시간 형식을 설명하는 기호 식별자는 datetime형 배열의 표시 형식을 설명하는 기호 식별자와 다릅니다.

기호 식별자

설명

yyyy

전체 연도

1990, 2002

yy

2자리 숫자로 된 연도

90, 02

QQ

Q 문자와 1자리 숫자를 사용한 한 해의 사분기

Q1

mmmm

전체 이름을 사용한 월

March, December

mmm

처음 세 자리 문자를 사용한 월

Mar, Dec

mm

2자리 숫자로 된 월

03, 12

m

첫 대문자 문자를 사용한 월

M, D

dddd

전체 이름을 사용한 요일

Monday, Tuesday

ddd

처음 세 문자를 사용한 요일

Mon, Tue

dd

2자리 숫자로 된 날짜

05, 20

d

첫 대문자 문자를 사용한 요일

M, T

HH

2자리 숫자로 된 시간
(기호 식별자 AM 또는 PM을 사용하는 경우 앞에 0 표시 안 됨)

05, 5 AM

MM

2자리 숫자로 된 분

12, 02

SS

2자리 숫자로 된 초

07, 59

FFF

3자리 숫자로 된 밀리초

057

AM or PM

시간을 나타내는 텍스트에 삽입되는 AM이나 PM

3:45:02 PM

formatIn 값은 다음 지침을 준수해야 합니다.

  • 필드를 두 번 이상 지정할 수 없습니다. 예를 들어, 'yy-mmm-dd-m'은 월 식별자가 두 개이므로 사용할 수 없습니다. 예외적으로 dd의 한 인스턴스를 다른 일 식별자의 한 인스턴스와 결합시킬 수 있습니다. 예를 들어, 'dddd mmm dd yyyy'는 유효한 입력값입니다.

  • AM 또는 PM을 사용하는 경우 HH 필드도 필요합니다.

  • datevec'QQ'를 포함하는 형식을 받지 않습니다.

100년 날짜 범위의 시작 연도로, 두 문자로 된 연도가 여기에 속하게 되며, 정수로 지정됩니다. 피벗 연도를 사용하여, 연도를 명시하는 두 문자로 된 날짜를 해석합니다.

formatIn에 날짜의 시간이 포함되어 있는 경우 피벗 연도는 현재 일, 월, 연의 현재 시간에서부터 계산합니다. 그렇지 않은 경우에는 현재 일, 월, 연의 자정에서부터 계산합니다.

예: 2000

참고

입력 날짜 형식이 네 문자로 된 연도를 명시하는 경우 마지막 두 문자는 잘리고 처음 두 문자로 연도가 명시됩니다. 예를 들어, 날짜와 피벗 연도가 ('25122015','ddmmyyyy',2000)으로 지정된 경우 결과로 생성되는 날짜는 25-12-2015가 아니라 25-12-2020입니다.

데이터형: double

출력 인수

모두 축소

날짜 벡터로, m×6 행렬로 반환됩니다. 여기서 각 행은 하나의 날짜 벡터에 대응하고 m은 입력 날짜 번호 값 또는 날짜/시간을 나타내는 문자형 벡터의 총 개수입니다.

날짜 벡터의 성분(연, 월, 일, 시, 분, 초)으로, 숫자형 스칼라 또는 숫자형 벡터로 반환됩니다. 밀리초는 초 출력값의 소수부입니다. datetime형 배열 t를 변환할 경우 이러한 성분은 Year, Month, Day, Hour, Minute, Second 속성의 값과 같습니다. 예를 들면 Y = t.Year와 같습니다.

제한 사항

  • 첫 번째 입력 인수가 datetime형 배열, 숫자형 배열 또는 날짜와 시간을 나타내는 텍스트이면 datevec는 1보다 작은 모든 월 값을 출력값에 1로 설정합니다. 1보다 작은 일 값 D는 이전 달의 마지막 날에서 |D|를 뺀 값으로 설정됩니다. 0 ≤ DateNumber < 1인 경우 datevec(DateNumber)는 형식 [0 0 0 H MN S]의 날짜 벡터를 반환합니다. 여기서 H, MN, S는 각각 시, 분, 초입니다.

  • 첫 번째 입력 인수가 duration형 배열이면 datevec의 출력값은 특정 시점이 아닌, 고정된 길이의 시간 단위로 측정된 시간을 나타냅니다. 출력 행렬의 각 행은 기간을 년, 월, 일, 시, 분, 초로 표현합니다. 이를 모두 합하면 입력 duration 배열의 대응되는 요소로 표현되는 총 시간이 됩니다.

    그러나 월마다 일수가 다르기 때문에 월은 고정된 길이의 시간 단위가 될 수 없습니다. 따라서 월수는 항상 0입니다. 대신 datevec는 기간을 연수(각 365.2425일), 일수(각 86,400초), 시, 분, 초로 표현합니다. 이를 모두 합하면 해당 기간이 됩니다. 그 결과, 일수가 31을 넘는 경우가 생길 수도 있습니다.

  • 배열의 크기가 큰 경우 벡터화된 호출 구문을 사용하면 성능을 크게 개선할 수 있습니다.

확장 기능

버전 내역

R2006a 이전에 개발됨

모두 확장