前へ 次へ

クラス BirtDuration

BirtDuration クラスには、XML 文書で使用される時間枠または期間の一部を取得するための関数があります。期間は以下の形式で指定します。

PnYnMnDTnHnMnS

ここで:

*
*
nY は年数を示します
*
nM は月数を示します
*
nD は日数を示します
*
*
nH は時間数を示します
*
nM は分数を示します
*
nS は秒数を示します

例えば、以下の値は 2 年 3 カ月と 5 日の期間を示します。

P2Y3M5D

以下の値は、10 時間の期間を示します。

PT10H

BirtDuration クラスは静的です。アプリケーションでは、このクラスのインスタンスは作成できません。

BirtDuration.add

この関数は 2 つの期間を加算し、合計を返します。

構文

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

パラメーター

lexicalDuration1

String 型。加算する 1 番目の期間。

lexicalDuration2

String 型。加算する 2 番目の期間。

戻り値

String 型。入力された 2 つの期間の合計。

以下の例は、2 つの期間を加算します。

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

BirtDuration.addTo

この関数は、指定された Date オブジェクトに期間を加算します。

構文

Date BirtDuration.add(string lexicalDuration, Date date)

パラメーター

lexicalDuration

String 型。加算する期間。

日付

Date オブジェクト。変更する日時。

戻り値

Date オブジェクト。指定された期間経過後の日付。

以下の例は、現在日時に 1 年加算します。

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

BirtDuration.compare

この関数は、ある期間がもう 1 つの期間と同じ、より大、あるいはより小のいずれであるかをテストします。

構文

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

パラメーター

lexicalDuration1

String 型。比較で使用する最初の期間。

lexicalDuration2

String 型。比較で使用する 2 番目の期間。

戻り値

Integer 型。2 つの期間の半順序関係。最初の期間のほうが大きい場合 1、等しい場合 0、2 番目の期間が大きい場合 -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

String 型。日の値の取得元である期間。

戻り値

指定された期間の日の値を表す整数。

以下の例は、特定の期間に戻された日の値を示しています。

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

BirtDuration.getSign

この関数は期間の符号を返します。

構文

integer BirtDuration.getSign(string lexicalDuration)

パラメーター

lexicalDuration

String 型。分析対象の期間。

戻り値

Integer 型。期間の符号の乗数としての値。正の期間の場合 1、負の期間の場合 -1、null または 0 の値の場合 0 を返します。

以下の式は、特定の期間の符号を分析します。

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

BirtDuration.hour

この関数は、指定した期間の時間の値を戻します。

構文

integer BirtDuration.hour( string lexicalDuration)

パラメーター

lexicalDuration

String 型。時間の値の取得元である期間。

戻り値

指定された期間の時間の値を表す整数。

以下の例は、特定の期間に戻された時間の値を示しています。

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

String 型。比較で使用する最初の期間。

lexicalDuration2

String 型。比較で使用する 2 番目の期間。

戻り値

Boolean 型。最初の期間が 2 番目の期間より長い場合は 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

String 型。比較で使用する最初の期間。

lexicalDuration2

String 型。比較で使用する 2 番目の期間。

戻り値

Boolean 型。最初の期間が 2 番目の期間より短い場合は 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

String 型。分の値の取得元である期間。

戻り値

Integer 型。指定した期間の分の値を表す数値。

以下の例は、特定の期間に戻された分の値を示しています。

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

BirtDuration.month

この関数は、指定した期間の月の値を戻します。

構文

integer BirtDuration.month(string lexicalDuration)

パラメーター

lexicalDuration

String 型。月の値の取得元である期間。

戻り値

Integer 型。指定した期間の月の値を表す数値。

以下の例は、特定の期間に戻された月の値を示しています。

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

BirtDuration.multiply

この関数は、期間と通常の数値の積を返します。

構文

string BirtDuration.multiply(string lexicalDuration, integer factor)

パラメーター

lexicalDuration

String 型。乗算する期間。

係数

Integer 型。乗算する通常の数値。

戻り値

String 型。入力された期間と係数の積。

以下の例は、特定の期間と係数に対して返される積を示します。

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

BirtDuration.negate

この関数は、期間の符号反転値を返します。

構文

string BirtDuration.negate(string lexicalDuration)

パラメーター

lexicalDuration

String 型。符号反転する対象の期間。

戻り値

String 型。入力された期間の符号反転値。

以下の例は、特定の期間を符号反転した結果を示します。

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

BirtDuration.second

この関数は、指定した期間の秒の値を戻します。

構文

integer BirtDuration.second(string lexicalDuration)

パラメーター

lexicalDuration

String 型。秒の値の取得元である期間。

戻り値

Integer 型。指定した期間の秒の値を表す数値。

以下の例は、特定の期間に戻された秒の値を示しています。

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

BirtDuration.subtract

この関数は、ある期間からもう 1 つの期間を減算します。

構文

string BirtDuration.subtract(string lexicalDuration1, string lexicalDuration2)

パラメーター

lexicalDuration1

String 型。被減数となる期間。

lexicalDuration2

String 型。lexicalDuration1 から減算する期間。

戻り値

String 型。入力された 2 つの期間の差。

以下の例は、2 つの期間の減算をします。

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

BirtDuration.timeInMills

この関数は、指定期間における指定した開始日からのミリ秒数を戻します。期間内のミリ秒数は、開始日によって変わります。例えば、1 カ月という期間は開始日に応じて、28、29、30、または 31 日間になります。開始日が 1 月 1 日の場合、1 月 1 日から 2 月 1 日まで (2 月 1 日を除く) のミリ秒数が関数で計算され、結果は 2678400000 ミリ秒、つまり 31 日に等しくなります。 開始日が 2009 年 2 月 1 日の場合 (2009 年はうるう年)、2 月 1 日から 3 月 1 日までのミリ秒数が計算され、結果は 2505600000 ミリ秒、つまり 29 日と等しくなります。

構文

Number BirtDuration.timeInMills( string lexicalDuration, Date startDate )

パラメーター

lexicalDuration

String 型。ミリ秒数の取得元である期間。

startDate

Date オブジェクト。開始日を表します。

戻り値

Number オブジェクト。指定した期間のミリ秒数。

以下の例は、特定の期間と開始日に戻されたミリ秒数を示しています。

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

String 型。年の値の取得元である期間。

戻り値

Integer 型。指定した期間の年の値を表す数値。

以下の例は、特定の期間に戻された年の値を示しています。

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

(c) Copyright Actuate Corporation 2013