이전 다음

BirtDuration 클래스

BirtDuration 클래스는 XML 문서에서 사용되는 지속 기간 또는 기간의 파트를 가져오기 위한 함수를 제공합니다. 지속 기간은 다음 양식으로 지정됩니다.

PnYnMnDTnHnMnS

여기서

*
*
nY는 년 수를 표시합니다.
*
nM은 월 수를 표시합니다.
*
nD는 일 수를 표시합니다.
*
*
nH는 시간 수를 표시합니다.
*
nM은 분 수를 표시합니다.
*
nS는 초 수를 표시합니다.

예를 들어, 다음 값은 2년, 3개월 및 5일의 지속 기간을 표시합니다.

P2Y3M5D

다음 값은 10시간의 지속 기간을 표시합니다.

PT10H

BirtDuration 클래스는 정적입니다. 애플리케이션은 클래스의 인스턴스를 작성할 수 없습니다.

BirtDuration.add

이 함수는 두 기간을 서로 합하여 그 합을 리턴합니다.

구문

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

매개변수

lexicalDuration1

문자열. 추가할 첫 번째 기간

lexicalDuration2

문자열. 추가할 두 번째 기간

리턴

문자열. 입력된 두 기간의 합

예제

다음 예제에서는 두 기간을 합합니다.

BirtDuration.add("P1Y3M", "P13M") // returns P2Y4M

BirtDuration.addTo

이 함수는 지정된 날짜 오브젝트에 기간을 추가합니다.

구문

Date BirtDuration.add(string lexicalDuration, Date date)

매개변수

lexicalDuration

문자열. 추가할 기간

date

날짜 오브젝트. 수정할 날짜 및 시간

리턴

날짜 오브젝트. 기간이 앞당겨진 날짜

예제

다음 예제에서는 현재의 날짜와 시간에 1년을 추가합니다.

var today = new Date();
var annualDate = BirtDuration.addTo(today, "P1Y")

BirtDuration.compare

이 함수는 지속 기간이 다른 지속 기간과 동일하거나 길거나 짧은지를 테스트합니다.

구문

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

매개변수

lexicalDuration1

문자열. 비교에 사용할 첫 번째 기간

lexicalDuration2

문자열. 비교에 사용할 두 번째 기간

리턴

정수. 두 기간 간의 부분적 순서 관계입니다. 첫 번째 기간이 더 크면 1, 두 기간이 동일하면 0, 두 번째 기간이 더 크면 -1을 리턴합니다.

예제

다음 표현식은 특정 지속 기간의 길이를 비교합니다.

BirtDuration.compare("P1Y", "P12M"); // returns 0
BirtDuration.compare( "P3M" , "P100D" ) // returns -1
BirtDuration.compare( "PT25H" , "P1D" ) // returns 1

BirtDuration.day

이 함수는 제공된 지속 기간의 일 값을 리턴합니다.

구문

integer BirtDuration.day( string lexicalDuration )

매개변수

lexicalDuration

문자열. 일 값을 가져올 기간

리턴

지정된 기간의 일 값을 나타내는 정수

예제

다음 예제는 특정 지속 기간에 대해 리턴된 일 값을 표시합니다.

BirtDuration.day( "P1Y15DT12H" ) // returns 15
BirtDuration.day( "P5Y2M" ) // returns 0

BirtDuration.getSign

이 함수는 기간의 부호를 리턴합니다.

구문

integer BirtDuration.getSign( string lexicalDuration )

매개변수

lexicalDuration

문자열. 분석할 기간

리턴

정수. 승수에 해당하는 기간의 부호입니다. 양수 기간의 경우 1, 음수 기간의 경우 -1, 널 또는 0값의 경우 0을 리턴합니다.

예제

다음 표현식은 지정된 기간의 부호를 분석합니다.

BirtDuration.getSign("P0Y"); // returns 0
BirtDuration.getSign("-P8Y2M3D"); // returns -1

BirtDuration.hour

이 함수는 제공된 지속 기간의 시간 값을 리턴합니다.

구문

integer BirtDuration.hour( string lexicalDuration )

매개변수

lexicalDuration

문자열. 시간 값을 가져올 기간

리턴

지정된 기간의 시간 값을 나타내는 정수

예제

다음 예제는 특정 지속 기간에 대해 리턴된 시간 값을 표시합니다.

BirtDuration.hour( "P1Y15DT12H" ) // returns 12
BirtDuration.hour( "P5Y2M" ) // returns 0

BirtDuration.isLongerThan

이 함수는 지속 기간이 다른 지속 기간보다 긴지를 테스트합니다. 특정 지속 기간 사이의 순서 관계를 판별할 수 없는 경우도 있습니다(예: 1개월(P1M)과 30일(P30D) 또는 1년(P1Y)과 365일(P365D)). 이러한 경우, 함수는 false를 리턴합니다.

구문

boolean BirtDuration.isLongerThan( string lexicalDuration1, string lexicalDuration2 )

매개변수

lexicalDuration1

문자열. 비교에 사용할 첫 번째 기간

lexicalDuration2

문자열. 비교에 사용할 두 번째 기간

리턴

부울. 첫 번째 지속 기간이 두 번째 지속 기간보다 긴 경우 true, 그렇지 않으면 false를 리턴합니다.

예제

다음 표현식은 특정 지속 기간의 길이를 비교합니다.

BirtDuration.isLongerThan( "P1Y3M" , "P13M" ) // returns true
BirtDuration.isLongerThan( "P2M" , "P62D" ) // returns false
BirtDuration.isLongerThan( "PT25H" , "P1D" ) // returns true

BirtDuration.isShorterThan

이 함수는 지속 기간이 다른 지속 기간보다 짧은지를 테스트합니다. 특정 지속 기간 사이의 순서 관계를 판별할 수 없는 경우도 있습니다(예: 1개월(P1M)과 30일(P30D) 또는 1년(P1Y)과 365일(P365D)). 이러한 경우, 함수는 false를 리턴합니다.

구문

boolean BirtDuration.isShorterThan( string lexicalDuration1, string lexicalDuration2 )

매개변수

lexicalDuration1

문자열. 비교에 사용할 첫 번째 기간

lexicalDuration2

문자열. 비교에 사용할 두 번째 기간

리턴

부울. 첫 번째 지속 기간이 두 번째 지속 기간보다 짧은 경우 true, 그렇지 않으면 false를 리턴합니다.

예제

다음 표현식은 특정 지속 기간의 길이를 비교합니다.

BirtDuration.isShorterThan( "P1Y3M" , "P13M" ) // returns false
BirtDuration.isShorterThan( "P2M" , "P62D" ) // returns false
BirtDuration.isShorterThan( "PT25H" , "P1D" ) // returns false
BirtDuration.isShorterThan( "P27D" , "P1M" ) // returns true

BirtDuration.minute

이 함수는 제공된 지속 기간의 분 값을 리턴합니다.

구문

integer BirtDuration.minute( string lexicalDuration )

매개변수

lexicalDuration

문자열. 분 값을 가져올 기간

리턴

정수. 지정된 기간의 분 값을 나타내는 수

예제

다음 예제는 특정 지속 기간에 대해 리턴된 분 값을 표시합니다.

BirtDuration.minute( "P1Y15DT12H30M45S" ) // returns 30
BirtDuration.minute( "P5Y2M8DT15H" ) // returns 0

BirtDuration.month

이 함수는 제공된 지속 기간의 월 값을 리턴합니다.

구문

integer BirtDuration.month( string lexicalDuration )

매개변수

lexicalDuration

문자열. 월 값을 가져올 기간

리턴

정수. 지정된 기간의 월 값을 나타내는 수

예제

다음 예제는 특정 지속 기간에 대해 리턴된 월 값을 표시합니다.

BirtDuration.month( "P1Y3M15DT12H30M45S" ) // returns 3
BirtDuration.month( "P5Y8DT15H" ) // returns 0

BirtDuration.multiply

이 함수는 기간과 일반 수의 곱을 리턴합니다.

구문

string BirtDuration.multiply( string lexicalDuration, integer factor )

매개변수

lexicalDuration

문자열. 곱할 기간

factor

정수. 곱할 일반 수

리턴

문자열. 입력 기간과 factor의 곱

예제

다음 예는 특정 기간 및 요인에 대해 리턴된 제품을 표시합니다.

BirtDuration.multiply( "P1Y3M15DT12H30M45S", 1)
// returns P1Y3M15DT12H30M45S
BirtDuration.multiply( "P5Y8DT15H", 0) // returns P0Y0DT0H

BirtDuration.negate

이 함수는 기간의 음수 값을 리턴합니다.

구문

string BirtDuration.negate( string lexicalDuration )

매개변수

lexicalDuration

문자열. 부정할 기간

리턴

문자열. 입력 기간의 음수 값

예제

다음 예제에서는 지정된 기간의 음수 결과를 표시합니다.

BirtDuration.negate( "P1Y3M15DT12H30M45S")
// returns -P1Y3M15DT12H30M45S

BirtDuration.second

이 함수는 제공된 지속 기간의 초 값을 리턴합니다.

구문

integer BirtDuration.second( string lexicalDuration )

매개변수

lexicalDuration

문자열. 두 번째 값을 가져올 기간

리턴

정수. 지정된 기간의 두 번째 값을 나타내는 수

예제

다음 예제는 특정 지속 기간에 대해 리턴된 초 값을 표시합니다.

BirtDuration.second( "P1Y3M15DT12H30M45S" ) // returns 5
BirtDuration.second( "P5Y8DT15H" ) // returns 0

BirtDuration.subtract

이 함수는 기간을 또 다른 기간에서 뺍니다.

구문

string BirtDuration.subtract( string lexicalDuration1, string lexicalDuration2 )

매개변수

lexicalDuration1

문자열. 뺄 기간

lexicalDuration2

문자열. lexicalDuration1에서 뺀 기간

리턴

문자열. 입력된 두 기간의 차이

예제

다음 예제에서는 기간을 또 다른 기간에서 뺍니다.

BirtDuration.subtract("P1Y3M", "P13M") // returns P0Y2M

BirtDuration.timeInMills

이 함수는 지정된 시작 날짜에서부터 제공된 지속 기간의 밀리초 수를 리턴합니다. 지속 기간의 밀리초 수는 시작 날짜에 따라 변경할 수 있습니다. 예를 들어, 1개월의 지속 기간은 시작 날짜에 따라 28, 29, 30 또는 31일이 될 수 있습니다. 시작 날짜가 1월 1일인 경우 함수는 2678400000 밀리초 또는 31일과 같은 1월 1일과 2월 1일 사이의(2월 1일 제외) 밀리초를 계산합니다. 시작 날짜가 2009년(윤년) 2월 1일인 경우, 함수는 2505600000 밀리초 또는 29일과 같은 2월 1일과 3월 1일 사이의 밀리초를 계산합니다.

구문

Number BirtDuration.timeInMills( string lexicalDuration, Date startDate )

매개변수

lexicalDuration

문자열. 밀리초 길이를 가져올 기간

startDate

날짜 오브젝트. 시작 날짜를 나타냅니다.

리턴

숫자 오브젝트. 지정된 기간의 밀리초 수

예제

다음 예제는 특정 지속 기간 및 시작 날짜에 대해 리턴된 밀리초 수를 표시합니다.

BirtDuration.timeInMills( "P1Y3M10D" , "2009-01-01" ) // returns 40172400000
BirtDuration.timeInMills( "P1Y3M10D" , "2008-01-01" ) // returns 40258800000
BirtDuration.timeInMills( "PT6H45M20S" , "2009-01-01" ) // returns 24320000

BirtDuration.year

이 함수는 제공된 지속 기간의 년 값을 리턴합니다.

구문

integer BirtDuration.year( string lexicalDuration )

매개변수

lexicalDuration

문자열. 년 값을 가져올 기간

리턴

정수. 지정된 기간의 년 값을 나타내는 수

예제

다음 예제는 특정 지속 기간에 대해 리턴된 년 값을 표시합니다.

BirtDuration.year( "P1Y3M15DT12H30M45S" ) // returns 1
BirtDuration.year( "P8DT15H" ) // returns 0

(c) Copyright Actuate Corporation 2013