주요 콘텐츠

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

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

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

datetime형 배열을 만듭니다.

t = datetime('now') + calyears(0:2) + calmonths(0:2) + hours(20:20:60)
t = 1×3 datetime
   14-Jul-2025 15:48:53   15-Aug-2026 11:48:53   16-Sep-2027 07:48:53

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

t_years = t.Year
t_years = 1×3

        2025        2026        2027

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

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

t_months = t.Month
t_months = 1×3

     7     8     9

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

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

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

m = month(t)
m = 1×3

     7     8     9

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

m = month(t,'name')
m = 1×3 cell
    {'July'}    {'August'}    {'September'}

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

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

w = week(t)
w = 1×3

    29    33    38

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

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

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

        2025        2026        2027

m = 1×3

     7     8     9

d = 1×3

    14    15    16

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

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

    15    11     7

m = 1×3

    48    48    48

s = 1×3

   53.1974   53.1974   53.1974

날짜/시간 성분 수정

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

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

t.Year = 2014
t = 1×3 datetime
   14-Jul-2014 15:48:53   15-Aug-2014 11:48:53   16-Sep-2014 07:48:53

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

t.Month = [1,2,3]
t = 1×3 datetime
   14-Jan-2014 15:48:53   15-Feb-2014 11:48:53   16-Mar-2014 07:48:53

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

t.TimeZone = 'Europe/Berlin';

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

t.Format = 'dd-MMM-yyyy'
t = 1×3 datetime
   14-Jan-2014   15-Feb-2014   16-Mar-2014

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

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

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

참고 항목

| | |