Main Content

datetime형 배열의 날짜/시간 성분 추출 또는 할당하기

이 예제에서는 기존 datetime형 배열에서 날짜/시간 성분을 추출하는 두 가지 방법, 즉 배열 속성에 액세스하는 방법과 함수를 호출하는 방법을 보여줍니다. 그런 다음, 배열 속성을 수정하여 날짜/시간 성분을 수정하는 방법을 보여줍니다.

속성에 액세스하여 날짜/시간 성분 가져오기

datetime형 배열을 만듭니다.

t = datetime('now') + calyears(0:2) + calmonths(0:2) + hours(20:20:60)
t = 1x3 datetime
   26-Jan-2024 18:21:05   27-Feb-2025 14:21:05   28-Mar-2026 10:21:05

배열에 포함된 각 날짜/시간의 연도 값을 가져옵니다. 점 표기법을 사용하여 tYear 속성에 액세스합니다.

t_years = t.Year
t_years = 1×3

        2024        2025        2026

출력값 t_years는 숫자형 배열입니다.

Month 속성에 액세스하여 t에 포함된 각 날짜/시간의 월 값을 가져옵니다.

t_months = t.Month
t_months = 1×3

     1     2     3

Hour, Minute, Second 속성에 액세스하여 t에 포함된 각 날짜/시간의 일, 시간, 분, 초 성분을 각각 가져올 수 있습니다.

함수를 사용하여 날짜/시간 성분 가져오기

month 함수를 사용하여 t에 포함된 각 날짜/시간의 월 숫자 값을 가져옵니다. 함수를 사용하는 것은 t의 특정 날짜 또는 시간 성분을 가져올 수 있는 또 다른 방법입니다.

m = month(t)
m = 1×3

     1     2     3

Month 속성이 아니라 month 함수를 사용하여 t에 포함된 각 날짜/시간의 전체 월 이름을 가져옵니다.

m = month(t,'name')
m = 1x3 cell
    {'January'}    {'February'}    {'March'}

year, quarter, week, hour, minute, second 함수를 사용하여 t에서 각 날짜/시간의 연, 사분기, 주, 일, 시, 분, 초 성분을 각각 가져올 수 있습니다.

t에 포함된 각 날짜/시간에 대해 연중 몇째 주인지를 나타내는 숫자 값을 가져옵니다.

w = week(t)
w = 1×3

     4     9    13

날짜/시간 성분을 여러 개 가져오기

ymd 함수를 사용하여 t의 연, 월, 일 값을 세 개의 개별 숫자형 배열로 가져옵니다.

[y,m,d] = ymd(t)
y = 1×3

        2024        2025        2026

m = 1×3

     1     2     3

d = 1×3

    26    27    28

hms 함수를 사용하여 t의 시, 분, 초 값을 세 개의 개별 숫자형 배열로 가져옵니다.

[h,m,s] = hms(t)
h = 1×3

    18    14    10

m = 1×3

    21    21    21

s = 1×3

    5.9585    5.9585    5.9585

날짜/시간 성분 수정

배열의 속성을 수정하여 기존 datetime형 배열의 성분에 새 값을 할당합니다. 점 표기법을 사용하여 특정 속성에 액세스합니다.

t에 포함된 모든 datetime형 값의 연도 숫자 값을 2014로 변경합니다. 점 표기법을 사용하여 Year 속성을 수정합니다.

t.Year = 2014
t = 1x3 datetime
   26-Jan-2014 18:21:05   27-Feb-2014 14:21:05   28-Mar-2014 10:21:05

t에 포함된 세 개의 datetime형 값의 월을 1월, 2월 및 3월로 각각 변경합니다. 새 값은 숫자형 배열로 지정해야 합니다.

t.Month = [1,2,3]
t = 1x3 datetime
   26-Jan-2014 18:21:05   27-Feb-2014 14:21:05   28-Mar-2014 10:21:05

TimeZone 속성에 값을 할당하여 t의 표준 시간대를 설정합니다.

t.TimeZone = 'Europe/Berlin';

날짜만 표시하고 시간 정보는 표시하지 않도록 t의 표시 형식을 변경합니다.

t.Format = 'dd-MMM-yyyy'
t = 1x3 datetime
   26-Jan-2014   27-Feb-2014   28-Mar-2014

정상 범위를 벗어나는 값을 날짜/시간 성분에 할당할 경우 MATLAB®은 해당 성분을 정규화합니다. 월중 일자를 나타내는 숫자 값의 정상 범위는 1~31입니다. 이 범위를 벗어나는 일 값을 할당합니다.

t.Day = [-1 1 32]
t = 1x3 datetime
   30-Dec-2013   01-Feb-2014   01-Apr-2014

모든 값이 각 날짜 성분의 정상 범위 내에 있도록 월 숫자 값과 연도 숫자 값이 조정됩니다. 이 경우, 2014년 1월 -1일이 2013년 12월 30일로 변환됩니다.

참고 항목

| | |