날짜 벡터와 날짜 문자열의 이월
참고
datenum
및 datestr
함수는 권장되지 않습니다. 대신, datetime
값을 사용하여 날짜 일련 번호 값이나 날짜 벡터가 아닌 특정 시점을 나타내십시오. 이러한 숫자형 표현과 달리, datetime
형 값은 사람이 읽을 수 있는 형식으로 표시되며, 표준 시간대와 윤초를 고려하기 위한 속성을 갖습니다. datetime
형 값을 사용하도록 코드를 업데이트하는 방법에 대한 자세한 내용은 Replace Discouraged Instances of Serial Date Numbers and Date Strings 항목을 참조하십시오.
요소가 정상 범위를 벗어나는 경우 MATLAB®은 날짜 벡터 요소와 이전 요소를 모두 조정합니다. 예를 들어, 분 요소가 70
인 경우 MATLAB은 시간 요소를 1
로 조정하고 분 요소를 10
으로 설정합니다. 분 요소가 -15
인 경우 MATLAB은 시간 요소를 1
감소시키고 분 요소를 45
로 설정합니다.
이 예에서, 월 요소는 값 22를 가집니다. MATLAB은 연도 값을 2022로 증가시키고 월을 10월로 설정합니다. datetime
함수와 datestr
함수는 모두 정상 범위를 벗어나는 월 요소를 조정합니다. 하지만 datestr
은 권장되지 않습니다.
d1 = datetime([2021 22 03 00 00 00])
d1 =
datetime
03-Oct-2022
d2 = datestr([2021 22 03 00 00 00])
d2 = '03-Oct-2022'
이 두 함수는 월 구성요소가 아닌 모든 구성요소에 있는 음수 값을 동일한 방식으로 고려합니다. 예를 들어 다음 호출은 모두 7
(7월)로 지정된 월과 -5
로 지정된 일수가 포함된 입력값을 취합니다. 그리고 6월의 마지막 날(6월 30일)에서 5를 빼서 2022년 6월 25일을 반환 날짜로 산출합니다.
d1 = datetime([2022 07 -05 00 00 00])
d1 =
datetime
25-Jun-2022
d2 = datestr([2022 07 -05 00 00 00])
d2 = '25-Jun-2022'
월 구성요소가 1
보다 작은 숫자인 경우 이 규칙에 예외가 발생합니다. 이 경우 datetime
과 datestr
이 서로 다르게 동작합니다. datetime
함수는 연도 구성요소의 시작 시점에서 월 구성요소를 빼서 출력 날짜가 이전 해에 속하도록 합니다. 예를 들어 2022년에 대한 입력값으로 다음을 호출하면 2021년 7월 3일의 날짜가 반환되는데, 월 구성요소가 -5
이기 때문입니다.
d1 = datetime([2022 -5 3 0 0 0])
d1 =
datetime
03-Jul-2021
하지만 datestr
은 출력값의 월 구성요소를 2022년 1월로 설정합니다. 입력값의 월 구성요소가 1
보다 작으면 datestr
은 이를 1
로 처리합니다.
d2 = datestr([2022 -5 3 0 0 0])
d2 = '03-Jan-2022'
값 이월은 datenum
함수를 사용하여 날짜 및 시간을 나타내는 텍스트를 변환할 때도 적용됩니다. 예를 들어, datenum
은 2022년 10월 3일과 2022년 9월 33일을 동일한 날짜로 해석하며, 동일한 날짜 일련 번호 값을 반환합니다. 그러나 다시 언급하지만 datenum
은 권장되지 않습니다.
d = datenum("2022-10-03")
d = 738797
d = datenum("2022-09-33")
d = 738797
하지만 datetime
함수는 2022년 9월 33일을 나타내는 텍스트를 해석하지 않습니다. 이 함수는 규칙 범위를 벗어나는 날짜와 시간을 지정하는 텍스트의 값은 이월하려고 하지 않습니다. 대신 오류가 발생합니다.
d = datetime("2022-10-03")
d =
datetime
03-Oct-2022
d = datetime("2022-09-33")
Error using datetime
Could not recognize the date/time format of '2022-09-33'. You can specify a format using the 'InputFormat'
parameter. If the date/time text contains day, month, or time zone names in a language foreign to the
'en_US' locale, those might not be recognized. You can specify a different locale using the 'Locale'
parameter.