Main Content

duration

고정 길이 단위의 시간

설명

duration형 배열에 있는 값은 시, 분, 초와 같은 고정 길이 단위로 경과 시간을 나타냅니다. 경과 시간을 고정 길이(24시간) 일 및 고정 길이(365.2425일) 년 단위로 생성할 수도 있습니다.

숫자형 배열을 사용할 때처럼 duration형 배열을 사용하십시오. duration형 배열에 대해 더하기, 빼기, 정렬, 비교, 결합 및 플로팅 연산을 수행할 수 있습니다. duration형 배열을 사용하면 시, 분과 같은 시간 단위를 포함하는 datetime형 배열의 계산을 간편하게 할 수 있습니다.

The datetime data type represents points in time, while the duration and calendarDuration data types represent elapsed time using fixed-length and calendar time units, respectively.

생성

years, days, hours, minutes, seconds, milliseconds 함수를 사용하여 시간 단위를 지정한 duration형 배열을 만들 수 있습니다. 예를 들어, 경과 시간이 1시간, 2시간, 3시간으로 구성된 배열을 만들려면 hours 함수를 사용하십시오.

D = hours(1:3)
D = 

  1×3 duration array

   1 hr   2 hr   3 hr

또한 아래에 설명된 대로, duration 함수를 사용하여 duration형 배열을 만들 수도 있습니다.

설명

예제

D = duration(H,MI,S)H, MI, S로 지정된 시, 분, 초의 숫자 값을 갖는 숫자형 배열에서 duration형 배열을 만듭니다.

D = duration(H,MI,S,MS)는 duration형 배열에 MS로 지정된 밀리초를 추가합니다.

예제

D = duration(X)는 숫자형 행렬에서 기간으로 구성된 열 벡터를 만듭니다.

예제

D = duration(TimeStrings)는 경과 시간을 duration형 배열로 나타내는 텍스트를 변환합니다. TimeStrings'hh:mm:ss' 또는 'dd:hh:mm:ss' 형식 중 하나를 사용하여 시간을 나타내야 합니다.

예제

D = duration(TimeStrings,'InputFormat',infmt)infmt로 지정된 형식을 사용하여 텍스트를 변환합니다.

예제

D = duration(___,'Format',displayFormat)D에 대한 표시 형식을 추가로 지정합니다. 이 속성은 D의 표시를 변경하지만 인수의 값은 변경하지 않습니다. 이 구문은 위에 열거된 구문에서 사용된 모든 인수와 함께 사용할 수 있습니다.

입력 인수

모두 확장

시, 분, 초 배열로, 숫자형 배열로 지정됩니다. 이러한 배열은 스칼라일 수 있습니다. 스칼라가 아닌 모든 배열은 동일한 크기여야 합니다.

예: duration(12,45,7)은 12시간, 45분, 7초로 구성된 duration형을 반환합니다.

밀리초 배열로, 숫자형 배열로 지정됩니다. MS는 스칼라이거나 H, MI, S 입력 인수와 동일한 크기여야 합니다.

예: duration(12,45,30,35)는 12시간, 45분, 30초, 35밀리초로 구성된 duration형을 반환합니다.

입력 행렬로, 숫자형 행렬로 지정됩니다. X에는 시, 분, 초 수를 각각 포함하는 세 개의 열이 있어야 합니다.

예: duration([12 30 16])은 12시간, 30분, 16초로 구성된 duration형을 반환합니다.

경과 시간을 나타내는 텍스트로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. duration 함수는 TimeStrings의 형식을 'hh:mm:ss' 또는 'dd:hh:mm:ss' 형식 중 하나로 일치시키려고 시도합니다. 여기서 dd, hh, mm, ss는 일, 시, 분, 초를 나타냅니다. 마지막 필드는 소수점 오른쪽에 소수 초(Fractional Second)를 나타내는 숫자를 포함할 수 있습니다.

형식을 알고 있으면 'InputFormat'과 그 대응값 infmt를 지정하십시오.

예: duration('12:30:16')은 12시간, 30분, 16초로 구성된 duration형을 반환합니다.

예: duration('00:05:23.86')은 5분, 23.86초로 구성된 duration형을 반환합니다.

예: duration({'01:34:21';'23:16:54'})는 두 가지 duration형이 포함된 열 벡터를 반환합니다.

입력 텍스트의 형식으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

infmt를 다음 형식 중 하나로 지정합니다. 여기서 dd, hh, mm, ss는 일, 시, 분, 초를 나타냅니다.

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

  • 처음 세 형식 중 하나와, 소수 초(Fractional Second) 자릿수를 나타내는 최대 9개의 S 문자를 함께 사용(예: 'hh:mm:ss.SSSS')

속성

모두 확장

표시 형식으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 형식은 시간 단위를 포함한 단일 숫자(예: 연 수를 나타내는 'y') 또는 디지털 타이머(예: 시, 분, 초를 나타내는 'hh:mm:ss')로 지정될 수 있습니다.

시간 단위를 포함한 숫자의 경우, 다음 인수 중 하나를 지정하십시오.

  • 'y' — 고정 길이 연 수. 1년은 365.2425일입니다.

  • 'd' — 고정 길이 일 수. 1일은 24시간입니다.

  • 'h' — 시간

  • 'm' — 분

  • 's' — 초

디지털 타이머 형식의 경우, 다음 인수 중 하나를 지정하십시오.

  • 'dd:hh:mm:ss'

  • 'hh:mm:ss'

  • 'mm:ss'

  • 'hh:mm'

  • 처음 세 형식 중 하나와, 소수 초(Fractional Second) 자릿수를 나타내는 최대 9개의 S 문자를 함께 사용(예: 'hh:mm:ss.SSSS')

예: D.Format = 'm'에서는 D의 각 값을 분 수로 표시합니다.

예제

모두 축소

datetime형 값을 생성합니다.

D = datetime('today')
D = datetime
   25-Jan-2024

배열 내 각 값의 날짜가 같지만 시간 성분이 다른 datetime형 배열을 생성합니다. 이러한 배열을 생성하는 한 가지 편리한 방법은 D에 duration형 배열을 추가하는 것입니다.

먼저, hours 함수를 사용하여 시간으로 구성된 배열을 생성합니다. 각 요소는 이전 요소보다 2시간 깁니다.

H = hours(0:2:6)
H = 1x4 duration
   0 hr   2 hr   4 hr   6 hr

그런 다음, DH를 추가합니다.

T = D + H
T = 1x4 datetime
   25-Jan-2024 00:00:00   25-Jan-2024 02:00:00   25-Jan-2024 04:00:00   25-Jan-2024 06:00:00

datetime형 배열에 고정 시간을 사용한 산술 연산을 하려면 duration형 배열을 사용하십시오.

시, 분, 초를 입력 인수로 지정하여 duration형 배열을 생성합니다. 두 번째 인수는 배열이므로, 출력 D는 크기가 같은 배열입니다.

D = duration(1,30:33,0)
D = 1x4 duration
   01:30:00   01:31:00   01:32:00   01:33:00

3개의 열로 숫자형 행렬을 만듭니다. 각 열은 시, 분, 초를 나타냅니다.

X = [12 17 54;9 32 3]
X = 2×3

    12    17    54
     9    32     3

행렬을 duration형 배열로 변환합니다.

D = duration(X)
D = 2x1 duration
   12:17:54
   09:32:03

시간을 나타내는 문자형 벡터를 시, 분, 초로 변환합니다.

T = '6:34:12';
D = duration(T)
D = duration
   06:34:12

문자형 벡터로 구성된 셀형 배열을 변환합니다.

T = {'12:54:37','8:03:12'};
D = duration(T)
D = 1x2 duration
   12:54:37   08:03:12

일 성분이 포함된 텍스트도 변환합니다. 표시할 때는 duration형 배열의 디폴트 형식에 따라 일수가 시간으로 변환되어 표시됩니다.

T = '1:00:54:21';
D = duration(T)
D = duration
   24:54:21

경과 시간을 나타내는 텍스트의 형식을 지정한 다음, 이를 duration형 배열로 변환합니다.

문자형 벡터를 변환합니다. 입력 형식은 분과 초를 나타냅니다. 출력 인수는 시, 분, 초를 나타내는 형식의 duration형 값입니다.

T = '78:34';
infmt = 'mm:ss';
D = duration(T,'InputFormat',infmt)
D = duration
   01:18:34

분, 초, 소수 단위의 초를 소수점 세 자리로 나타내는 형식의 문자형 벡터로 구성된 셀형 배열을 만듭니다.

infmt = 'mm:ss.SSS';
T = {'1:34.862' '67:07.218'}
T = 1x2 cell
    {'1:34.862'}    {'67:07.218'}

T를 duration형 배열로 변환합니다. duration형 배열의 형식을 시, 분, 초, 소수 단위의 초로 나타내도록 지정합니다.

outfmt = 'hh:mm:ss.SSS';
D = duration(T,'InputFormat',infmt,'Format',outfmt)
D = 1x2 duration
   00:01:34.862   01:07:07.218

행렬에서 duration형 배열을 생성합니다. 세 개의 열은 각각 시, 분, 초를 지정합니다. 분과 초를 나타내는 디지털 타이머 형식으로 값을 표시합니다.

X = [2 3 16;1 5 59;1 45 0]
X = 3×3

     2     3    16
     1     5    59
     1    45     0

D = duration(X,'Format','mm:ss')
D = 3x1 duration
   123:16
    65:59
   105:00

  • duration형 배열을 받거나 반환하는 함수에 대한 자세한 내용은 날짜/시간(Date and Time) 항목을 참조하십시오.

확장 기능

스레드 기반 환경
MATLAB®의 backgroundPool을 사용해 백그라운드에서 코드를 실행하거나 Parallel Computing Toolbox™의 ThreadPool을 사용해 코드 실행 속도를 높일 수 있습니다.

버전 내역

R2014b에 개발됨