Előző Következő

BirtDuration osztály

A BirtDuration osztály az XML dokumentumokban használt időszakok vagy időtartamok részeinek lekérdezéséhez biztosít függvényeket. Az időtartamok a következő formában vannak megadva:

PnYnMnDTnHnMnS

ahol

*
*
nY az évek számát jelöli
*
nM a hónapok számát jelöli
*
nD a napok számát jelöli
*
*
nH az órák számát jelöli
*
nM a percek számát jelöli
*
nS a másodpercek számát jelöli

Például a következő érték egy 2 év, 3 hónap és 5 napos időtartamot jelöl:

P2Y3M5D

A következő érték egy 10 órás időtartamot jelöl:

PT10H

A BirtDuration osztály egy statikus osztály. Az alkalmazás nem hozhat létre példányokat az osztályból.

BirtDuration.add

Ez a függvény két időtartamot ad össze, és visszaadja összegüket.

Szintaxis

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

Paraméterek

lexicalDuration1

Karaktersorozat. Az első hozzáadandó időtartam.

lexicalDuration2

Karaktersorozat. A második hozzáadandó időtartam.

Visszatérési érték

Karaktersorozat. A két bemeneti időtartam összege.

Példák

A következő példa két időtartamot ad össze:

BirtDuration.add("P1Y3M", "P13M") // P2Y4M értéket ad vissza

BirtDuration.addTo

Ez a függvény adott időtartamot ad megadott Date objektumhoz.

Szintaxis

Date BirtDuration.add(string lexicalDuration, Date date)

Paraméterek

lexicalDuration

Karaktersorozat. A hozzáadandó időtartam.

date

Date objektum. A módosítandó dátum és időpont.

Visszatérési érték

Date objektum. Az időtartammal növelt dátum.

Példák

A következő példa egy évet ad a mai dátumhoz és időponthoz:

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

BirtDuration.compare

Ez a függvény teszteli, hogy egy adott időtartam egyező, nagyobb, mint, illetve kisebb, mint egy másik időtartam.

Szintaxis

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

Paraméterek

lexicalDuration1

Karaktersorozat. Az összehasonlításhoz használandó első időtartam.

lexicalDuration2

Karaktersorozat. Az összehasonlításhoz használandó második időtartam.

Visszatérési érték

Egész szám. Részleges rendezési kapcsolat a két időtartam között. 1-et ad vissza, ha az első időtartam nagyobb, mint a második, 0-át, ha a kettő egyenlő, illetve -1-et, ha a második időtartam nagyobb.

Példák

A következő kifejezések két adott időtartam hosszát hasonlítják össze:

BirtDuration.compare("P1Y", "P12M"); // az eredmény 0
BirtDuration.compare( "P3M" , "P100D" ) // az eredmény -1
BirtDuration.compare( "PT25H" , "P1D" ) // az eredmény 1

BirtDuration.day

Ez a függvény egy adott időtartam napokban kifejezett értékét adja vissza.

Szintaxis

integer BirtDuration.day( string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Az az időtartam, melyből a napok értéke beolvasandó.

Visszatérési érték

A megadott időtartam napjainak értékét képviselő egész szám.

Példák

A következő példák adott időtartamokhoz visszaadott nap értékeket mutatnak be:

BirtDuration.day( "P1Y15DT12H" ) // 15 napot ad vissza
BirtDuration.day( "P5Y2M" ) // az eredmény 0

BirtDuration.getSign

Ez a függvény az időtartam előjelét adja vissza.

Szintaxis

integer BirtDuration.getSign(string lexicalDuration)

Paraméterek

lexicalDuration

Karaktersorozat. Az elemzendő időtartam.

Visszatérési érték

Egész szám. Az időtartam előjele szorzóként. 1-et ad vissza pozitív időtartam esetén, -1-et negatív időtartam esetén, valamint 0-át anull vagy 0 érték esetén.

Példák

A következő kifejezés adott időtartam előjeleit elemzi:

BirtDuration.getSign("P0Y"); // az eredmény 0
BirtDuration.getSign("-P8Y2M3D"); // az eredmény -1

BirtDuration.hour

Ez a függvény egy adott időtartam órákban kifejezett értékét adja vissza.

Szintaxis

integer BirtDuration.hour( string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Az időtartam, amelyből az órák értékét le kell kérdezni.

Visszatérési érték

A megadott időtartam óráinak értékét képviselő egész szám.

Példák

A következő példák adott időtartamokhoz visszaadott óra értékeket mutatnak be:

BirtDuration.hour( "P1Y15DT12H" ) // 12 órát ad vissza
BirtDuration.hour( "P5Y2M" ) // 0 értéket ad vissza

BirtDuration.isLongerThan

Ez a függvény azt vizsgálja meg, hogy egy időtartam hosszabb-e egy másik időtartamnál. Néha nem állapítható meg a sorrendi kapcsolat bizonyos időtartamok között, például egy hónap (P1M) és 30 nap (P30D), vagy egy év (P1Y) és 365 nap (P365D). Az ilyen esetekben a függvény false értéket ad vissza.

Szintaxis

boolean BirtDuration.isLongerThan(string lexicalDuration1, string lexicalDuration2)

Paraméterek

lexicalDuration1

Karaktersorozat. Az összehasonlításhoz használandó első időtartam.

lexicalDuration2

Karaktersorozat. Az összehasonlításhoz használandó második időtartam.

Visszatérési érték

Logikai érték. True, ha az első időtartam hosszabb, mint a második, máskülönben false.

Példák

A következő kifejezések két adott időtartam hosszát hasonlítják össze:

BirtDuration.isLongerThan( "P1Y3M" , "P13M" ) // true értéket ad vissza
BirtDuration.isLongerThan( "P2M" , "P62D" ) // false értéket ad vissza
BirtDuration.isLongerThan( "PT25H" , "P1D" ) // true értéket ad vissza

BirtDuration.isShorterThan

Ez a függvény azt vizsgálja meg, hogy egy időtartam rövidebb-e egy másik időtartamnál. Néha nem állapítható meg a sorrendi kapcsolat bizonyos időtartamok között, például egy hónap (P1M) és 30 nap (P30D), vagy egy év (P1Y) és 365 nap (P365D). Az ilyen esetekben a függvény false értéket ad vissza.

Szintaxis

boolean BirtDuration.isShorterThan( string lexicalDuration1, string lexicalDuration2 )

Paraméterek

lexicalDuration1

Karaktersorozat. Az összehasonlításhoz használandó első időtartam.

lexicalDuration2

Karaktersorozat. Az összehasonlításhoz használandó második időtartam.

Visszatérési érték

Logikai érték. True, ha az első időtartam rövidebb, mint a második időtartam, máskülönben false értéket ad vissza.

Példák

A következő kifejezések két adott időtartam hosszát hasonlítják össze:

BirtDuration.isShorterThan( "P1Y3M" , "P13M" ) // false értéket ad vissza
BirtDuration.isShorterThan( "P2M" , "P62D" ) // false értéket ad vissza
BirtDuration.isShorterThan( "PT25H" , "P1D" ) // false értéket ad vissza
BirtDuration.isShorterThan( "P27D" , "P1M" ) // true értéket ad vissza

BirtDuration.minute

Ez a függvény egy adott időtartam perc értékét adja vissza.

Szintaxis

integer BirtDuration.minute(string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Az időtartam, amelyből a percek értékét le kell kérdezni.

Visszatérési érték

Egész szám. Az a szám, amely a megadott időtartam perceinek értékét képviseli.

Példák

A következő példák adott időtartamokhoz visszaadott perc értékeket mutatnak be:

BirtDuration.minute( "P1Y15DT12H30M45S" ) // a 30 értéket adja vissza
BirtDuration.minute( "P5Y2M8DT15H" ) // a 0 értéket adja vissza

BirtDuration.month

Ez a függvény egy adott időtartam hónap értékét adja vissza.

Szintaxis

integer BirtDuration.month(string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Az az időtartam, melyből a hónapok értéke beolvasandó.

Visszatérési érték

Egész szám. Az a szám, amely a megadott időtartam hónapjainak értékét képviseli.

Példák

A következő példák adott időtartamokhoz visszaadott hónap értékeket mutatnak be:

BirtDuration.month( "P1Y3M15DT12H30M45S" ) // a 3 értéket adja vissza
BirtDuration.month( "P5Y8DT15H" ) // a 0 értéket adja vissza

BirtDuration.multiply

Ez a függvény egy időtartam és egy normális szám szorzatát adja vissza.

Szintaxis

string BirtDuration.multiply(string lexicalDuration, integer factor)

Paraméter

lexicalDuration

Karaktersorozat. Szorzandó időtartam.

factor

Egész szám. Szorzandó normális szám.

Visszatérési érték

Karaktersorozat. A bemeneti időtartam és a factor szorzata.

Példák

Az alábbi példák adott időtartam és factor szorzatait mutatják be:

BirtDuration.multiply( "P1Y3M15DT12H30M45S", 1)
// eredmény: P1Y3M15DT12H30M45S
BirtDuration.multiply( "P5Y8DT15H", 0) // eredmény: P0Y0DT0H

BirtDuration.negate

Ez a függvény egy időtartam negatív értékét adja vissza.

Szintaxis

string BirtDuration.negate(string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Negálandó időtartam.

Visszatérési érték

Karaktersorozat. A bemeneti időtartam negatív értéke.

Példák

A következő példák adott időtartam negatív eredményeit mutatják be:

BirtDuration.negate( "P1Y3M15DT12H30M45S")
// eredmény: -P1Y3M15DT12H30M45S

BirtDuration.second

Ez a függvény egy adott időtartam másodperc értékét adja vissza.

Szintaxis

integer BirtDuration.second(string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Olyan időtartam, melyből a másodperc értéket ki kell nyerni.

Visszatérési érték

Egész szám. A megadott időtartam másodpercértékét képviselő szám.

Példák

A következő példák adott időtartamokhoz visszaadott másodperc értékeket mutatnak be:

BirtDuration.second( "P1Y3M15DT12H30M45S" ) // az 5 értéket adja vissza
BirtDuration.second( "P5Y8DT15H" ) // a 0 értéket adja vissza

BirtDuration.subtract

Ez a függvény időtartamokat von ki egymásból.

Szintaxis

string BirtDuration.subtract(string lexicalDuration1, string lexicalDuration2)

Paraméterek

lexicalDuration1

Karaktersorozat. Az az időtartam, melyből a másik időtartam kivonandó.

lexicalDuration2

Karaktersorozat. A lexicalDuration1 időtartamból kivont időtartam.

Visszatérési érték

Karaktersorozat. A két bemeneti időtartam különbsége.

Példák

A következ példa két időtartamot von ki egymásból:

BirtDuration.subtract("P1Y3M", "P13M") // eredmény: P0Y2M

BirtDuration.timeInMills

Ez a függvény egy adott időszak ezredmásodpercben kifejezett értékét adja vissza, egy megadott kezdődátumból (startDate). Az időtartamban lévő ezredmásodpercek száma a kezdődátumtól függően változhat. Például egy egy hónapos időtartam a kezdődátumtól függően 28, 29, 30 vagy 31 napos lehet. Ha a kezdődátum január 1., akkor a függvény kiszámítja a január 1. és február 1. közötti ezredmásodpercek számát (a február 1. már nem számít bele), melynek értéke 2678400000 ezredmásodperc vagy 31 nap. Ha a kezdődátum 2009. február 1 (szökőév), akkor a függvény a február 1 és március 1 közötti ezredmásodpercek számát számítja ki, ami 2505600000 ezredmásodperc vagy 29 nap.

Szintaxis

Number BirtDuration.timeInMills( string lexicalDuration, Date startDate )

Paraméterek

lexicalDuration

Karaktersorozat. Az az időtartam, melynek ezredmásodpercben mért hossza beolvasandó.

Kezdődátum

Date objektum. A kezdődátumot képviseli.

Visszatérési érték

Number objektum. Az ezredmásodpercek száma a megadott időtartamban.

Példák

A következő példák adott időtartamokhoz és kezdődátumokhoz visszaadott ezredmásodperc értékeket mutatnak be:

BirtDuration.timeInMills( "P1Y3M10D" , "2009-01-01" ) // eredmény: 40172400000
BirtDuration.timeInMills( "P1Y3M10D" , "2008-01-01" ) // eredmény: 40258800000
BirtDuration.timeInMills( "PT6H45M20S" , "2009-01-01" ) // eredmény: 24320000

BirtDuration.year

Ez a függvény egy adott időtartam év értékét adja vissza.

Szintaxis

integer BirtDuration.year(string lexicalDuration)

Paraméter

lexicalDuration

Karaktersorozat. Az az időtartam, melyből az év értéke beolvasandó.

Visszatérési érték

Egész szám. Az a szám, amely a megadott időtartam év értékét képviseli.

Példák

A következő példák adott időtartamokhoz visszaadott év értékeket mutatnak be:

BirtDuration.year( "P1Y3M15DT12H30M45S" ) // az 1 értéket adja vissza
BirtDuration.year( "P8DT15H" ) // a 0 értéket adja vissza

(c) Copyright Actuate Corporation 2013