MATLAB에서 날짜/시간 표시하기
R2026b날짜/시간 정보를 저장하는 기본적인 방법은 datetime형 배열로 저장하는 것입니다. 이러한 배열은 산술 연산, 정렬, 비교, 플로팅 및 표시 형식 지정을 지원합니다. 산술적 차이를 계산한 결과값은 duration형 배열로 반환되거나, 달력 기반 함수를 사용할 경우 calendarDuration형 배열로 반환됩니다.
예를 들어, 다음 두 개의 날짜를 나타내는 datetime형 배열을 생성해 보겠습니다. 2025년 6월 28일 오전 6시 및 2025년 6월 28일 오전 7시. datetime형 값의 연, 월, 일, 시, 분, 초 성분에 대한 숫자형 값을 지정합니다.
t = datetime(2014,6,28,6:7,0,0)
t = 1×2 datetime
28-Jun-2014 06:00:00 28-Jun-2014 07:00:00
datetime형 배열의 속성에 새 값을 할당하여 날짜 또는 시간 성분의 값을 변경할 수 있습니다. 예를 들어, Day 속성에 새 값을 할당하여 각 값에서 일 숫자 값을 변경합니다.
t.Day = 27:28
t = 1×2 datetime
27-Jun-2014 06:00:00 28-Jun-2014 07:00:00
Format 속성을 변경하여 배열의 표시 형식을 변경합니다. 예를 들어, 날짜와 시간을 표현하는 형식을 ISO 8601 형식(밀리초에 대한 자릿수 포함)으로 지정해 보겠습니다. 표시 형식을 변경해도 datetime형 배열의 값은 바뀌지 않습니다.
t.Format = "yyyy-MM-dd HH:mm:ss.SSS"t = 1×2 datetime
2014-06-27 06:00:00.000 2014-06-28 07:00:00.000
한 datetime형 배열에서 다른 배열을 빼면 그 결과는 duration형 배열이 됩니다. duration형 배열의 값은 길이가 고정된 24시간 하루를 단위로 하는 시간 길이를 나타냅니다. 즉, duration형 값 1은 하루와 같습니다. duration형 배열의 디폴트 표시 형식은 hh:mm:ss이며, 따라서 하루 길이에 해당하는 duration형 값은 24:00:00으로 표시됩니다.
t2 = datetime(2014,6,28,6:7,0:1,0)
t2 = 1×2 datetime
28-Jun-2014 06:00:00 28-Jun-2014 07:01:00
d = t2 - t
d = 1×2 duration
24:00:00 00:01:00
Format 속성을 변경하여 duration형 배열의 표시 형식을 변경할 수 있습니다. 시간 길이는 동일하게 유지되지만, 다른 시간 단위를 사용하여 표시할 수 있습니다. 예를 들어 표시 형식을 초로 변경해 보겠습니다.
d.Format = "s"d = 1×2 duration
86400 sec 60 sec
seconds, minutes, hours, days 또는 years 함수를 사용하여, 지정된 시간 단위의 시간 길이를 나타내는 duration형 배열을 생성할 수 있습니다. 이러한 함수는 표시 형식도 해당 시간 단위에 맞게 설정합니다. 예를 들어, days 함수를 사용하여 2.5일에 해당하는 duration형 값을 생성해 보겠습니다. 여기서 하루는 정확히 24시간입니다. 표시 형식이 자동으로 days(일 수)로 설정됩니다.
d = days(2.5)
d = duration
2.5 days
calendarDuration형 배열을 생성할 수도 있습니다. duration형 배열처럼 calendarDuration형 배열도 시간 길이를 나타냅니다. 하지만 고정된 시간 길이를 나타내는 대신, calendarDuration형 배열은 길이가 가변젹인 달력 단위로 시간을 나타냅니다. 예를 들어, 달력상의 한 달은 지정된 월에 따라 28일, 29일, 30일, 31일 중 하나일 수 있습니다. 달력의 일, 월, 분기, 연도가 포함된 datetime형 배열을 계산할 때는 calendarDuration형 배열을 사용하십시오.
calendarDuration 배열을 지정된 시간 단위로 생성하려면 caldays, calweeks, calmonths, calquarters, calyears 함수를 사용하십시오. 예를 들어, 두 달에 해당하는 calendarDuration형 값을 지정해 보겠습니다.
L = calmonths(2)
L = calendarDuration
2mo
달력상의 월수와 달력상의 일수를 더합니다. 한 달의 일수는 고정되어 있지 않으므로, calendarDuration형 값을 특정 datetime형 배열에 더하거나 datetime형 배열에서 빼기 전까지는 일수를 결정할 수 없습니다. 따라서 일수는 월수와 분리된 상태로 유지됩니다.
L = calmonths(2) + caldays(35)
L = calendarDuration
2mo 35d
calendarDuration을 datetime형 배열에 더하여 새 날짜와 시간을 계산합니다. 연산 결과는 또 다른 datetime형 배열입니다. 여기서 10월 2일은 6월 28일로부터 2개월 35일 뒤입니다.
t3 = t2 + L
t3 = 1×2 datetime
02-Oct-2014 06:00:00 02-Oct-2014 07:01:00
요약하자면, 날짜/시간을 표현하는 방법에는 여러 가지가 있으며, MATLAB®은 각 방식에 맞는 데이터형을 제공합니다.
특정 시점을 나타내려면
datetime데이터형을 사용합니다. 예를 들어, 숫자형 입력값 또는 텍스트 입력값을 사용한datetime으로 2014년 6월 18일 수요일 10:00:00을 표현해 보겠습니다.datetime(2014,6,18,10,0,0)datetime("2014-06-18 10:00:00")
고정 길이 단위의 시간 길이를 나타내려면
duration데이터형을 사용합니다.duration데이터형을 사용할 경우 하루는 항상 24시간이고, 일 년은 항상 365.2425일입니다. 예를 들어,hours및minutes를 사용하여 72시간 10분을 표현해 보겠습니다.hours(72) + minutes(10)
가변 길이 단위의 달력 시간 길이를 나타내려면
calendarDuration데이터형을 사용합니다.calendarDuration데이터형은 일광 절약 시간제 변동과 윤년도 고려하므로, 달력상의 하루가 24시간보다 작거나 클 수 있고 달력상의 일 년이 365일이나 366일이 될 수 있습니다. 예를 들어,calmonths를 사용하여 달력상의 한 달을 나타내 보겠습니다.calmonths(1)
참고 항목
datetime | duration | calendarDuration