Edellinen Seuraava

BirtDuration-luokka

BirtDuration-luokan funktioiden avulla voit noutaa ajanjaksojen osia (kestoja) XML-asiakirjoista. Kesto on määritetty seuraavassa muodossa:

PnYnMnDTnHnMnS

jossa:

*
*
nY on vuosien määrä
*
nM on kuukausien määrä
*
nD on päivien määrä
*
*
nH on tuntien määrä
*
nM on minuuttien määrä
*
nS on sekuntien määrä

Esimerkiksi seuraava arvo määrittää kestoksi 2 vuotta, 3 kuukautta ja 5 päivää:

P2Y3M5D

Seuraava arvo määrittää kestoksi 10 tuntia:

PT10H

BirtDuration-luokka on staattinen. Sovellus ei voi luoda luokan ilmentymiä.

BirtDuration.add

Tämä funktio laskee yhteen kaksi kestoa ja palauttaa niiden summan.

Syntaksi

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

Parametrit

lexicalDuration1

Merkkijono. Ensimmäinen lisättävä kesto.

lexicalDuration2

Merkkijono. Toinen lisättävä kesto.

Palautukset

Merkkijono. Kahden syötetyn keston summa.

Esimerkkejä

Seuraava esimerkki lisää kaksi kestoa:

BirtDuration.add("P1Y3M", "P13M") // palauttaa arvon P2Y4M

BirtDuration.addTo

Tämä funktio lisää keston määritettyyn päivämääräobjektiin.

Syntaksi

Date BirtDuration.add(string lexicalDuration, Date pvm)

Parametrit

lexicalDuration

Merkkijono. Lisättävä kesto.

pvm

Päivämääräobjekti. Muokattava päivämäärä ja kellonaika.

Palautukset

Päivämääräobjekti. Kestolla siirretty päivämäärä.

Esimerkkejä

Seuraavassa esimerkissä nykyiseen päivämäärään ja kellonaikaan lisätään vuosi:

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

BirtDuration.compare

Tämä funktio testaa, onko kesto sama, pidempi vai lyhyempi kuin toinen kesto.

Syntaksi

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

Parametrit

lexicalDuration1

Merkkijono. Ensimmäinen vertailussa käytettävä kesto.

lexicalDuration2

Merkkijono. Toinen vertailussa käytettävä kesto.

Palautukset

Kokonaisluku. Kahden keston välinen osittainen järjestysrelaatio. Palauttaa arvon 1, jos ensimmäinen kesto on pidempi, arvon 0, jos kestot ovat samanpituiset ja arvon -1, jos toinen kesto on pidempi.

Esimerkkejä

Seuraavilla lausekkeilla verrataan määritettyjen kestojen pituuksia:

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

BirtDuration.day

Tämä funktio palauttaa määritetyn keston päiväosan arvon.

Syntaksi

integer BirtDuration.day( string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Kesto, jonka päiväosa noudetaan.

Palautukset

Määritetyn keston päiväosaa vastaava kokonaisluku.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut määritettyjen kestojen mukaiset päiväosien arvot:

BirtDuration.day( "P1Y15DT12H" ) // palauttaa arvon 15
BirtDuration.day( "P5Y2M" ) // palauttaa arvon 0

BirtDuration.getSign

Tämä funktio palauttaa keston etumerkin.

Syntaksi

integer BirtDuration.getSign(string lexicalDuration)

Parametrit

lexicalDuration

Merkkijono. Analysoitava kesto.

Palautukset

Kokonaisluku. Keston etumerkki kertoimena. Palauttaa arvon 1, jos keston arvo on positiivinen, arvon -1, jos keston arvo on negatiivinen ja arvon 0 tai null, jos keston arvo on 0.

Esimerkkejä

Seuraava lauseke analysoi tietyn keston etumerkin:

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

BirtDuration.hour

Tämä funktio palauttaa määritetyn keston tuntiosan arvon.

Syntaksi

integer BirtDuration.hour( string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Kesto, jonka tuntiosa noudetaan.

Palautukset

Määritetyn keston tuntiosaa vastaava kokonaisluku.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut määritettyjen kestojen mukaiset tuntiosien arvot:

BirtDuration.hour( "P1Y15DT12H" ) // palauttaa arvon 12
BirtDuration.hour( "P5Y2M" ) // palauttaa arvon 0

BirtDuration.isLongerThan

Tämä funktio testaa, onko kesto toista kestoa pidempi. Tietyissä tapauksissa kestojen keskinäistä järjestystä ei voida selvittää, kuten jos toinen kestoarvo on yksi kuukausi (P1M) ja toinen 30 päivää (P30D) tai toinen kestoarvo on yksi vuosi (P1Y) ja toinen 365 päivää (P365D). Tällaisissa tapauksissa funktio palauttaa arvon epätosi (false).

Syntaksi

boolean BirtDuration.isLongerThan( string lexicalDuration1, string lexicalDuration2 )

Parametrit

lexicalDuration1

Merkkijono. Ensimmäinen vertailussa käytettävä kesto.

lexicalDuration2

Merkkijono. Toinen vertailussa käytettävä kesto.

Palautukset

Totuusarvo. Tosi (true), jos ensimmäinen määritetty kesto on toista kestoa pidempi, ja epätosi (false) muussa tapauksessa.

Esimerkkejä

Seuraavilla lausekkeilla verrataan määritettyjen kestojen pituuksia:

BirtDuration.isLongerThan( "P1Y3M" , "P13M" ) // palauttaa arvon tosi (true)
BirtDuration.isLongerThan( "P2M" , "P62D" ) // palauttaa arvon epätosi (false)
BirtDuration.isLongerThan( "PT25H" , "P1D" ) // palauttaa arvon tosi (true)

BirtDuration.isShorterThan

Tämä funktio testaa, onko kesto toista kestoa lyhyempi. Tietyissä tapauksissa kestojen keskinäistä järjestystä ei voida selvittää, kuten jos toinen kestoarvo on yksi kuukausi (P1M) ja toinen 30 päivää (P30D) tai toinen kestoarvo on yksi vuosi (P1Y) ja toinen 365 päivää (P365D). Tällaisissa tapauksissa funktio palauttaa arvon epätosi (false).

Syntaksi

boolean BirtDuration.isShorterThan( string lexicalDuration1, string lexicalDuration2 )

Parametrit

lexicalDuration1

Merkkijono. Ensimmäinen vertailussa käytettävä kesto.

lexicalDuration2

Merkkijono. Toinen vertailussa käytettävä kesto.

Palautukset

Totuusarvo. Tosi (true), jos ensimmäinen määritetty kesto on toista kestoa lyhyempi, ja epätosi (false) muussa tapauksessa.

Esimerkkejä

Seuraavilla lausekkeilla verrataan määritettyjen kestojen pituuksia:

BirtDuration.isShorterThan( "P1Y3M" , "P13M" ) // palauttaa arvon epätosi (false)
BirtDuration.isShorterThan( "P2M" , "P62D" ) // palauttaa arvon epätosi (false)
BirtDuration.isShorterThan( "PT25H" , "P1D" ) // palauttaa arvon epätosi (false)
BirtDuration.isShorterThan( "P27D" , "P1M" ) // palauttaa arvon tosi (true)

BirtDuration.minute

Tämä funktio palauttaa määritetyn keston minuuttiosan arvon.

Syntaksi

integer BirtDuration.minute(string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Kesto, jonka minuuttiosa noudetaan.

Palautukset

Kokonaisluku. Määritetyn keston minuuttiosaa vastaava luku.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut määritettyjen kestojen mukaiset minuuttiosien arvot:

BirtDuration.minute( "P1Y15DT12H30M45S" ) // palauttaa arvon 30
BirtDuration.minute( "P5Y2M8DT15H" ) // palauttaa arvon 0

BirtDuration.month

Tämä funktio palauttaa määritetyn keston kuukausiosan arvon.

Syntaksi

integer BirtDuration.month(string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Kesto, jonka kuukausiosa noudetaan.

Palautukset

Kokonaisluku. Määritetyn keston kuukausiosaa vastaava luku.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut määritettyjen kestojen mukaiset kuukausiosien arvot:

BirtDuration.month( "P1Y3M15DT12H30M45S" ) // palauttaa arvon 3
BirtDuration.month( "P5Y8DT15H" ) // palauttaa arvon 0

BirtDuration.multiply

Tämä funktio palauttaa keston ja normaalin luvun tulon.

Syntaksi

string BirtDuration.multiply(string lexicalDuration, integer factor)

Parametri

lexicalDuration

Merkkijono. Kerrottava kesto.

factor

Kokonaisluku. Kerrottava normaali luku.

Palautukset

Merkkijono. Syötetyn keston ja kertoimen tulo.

Esimerkkejä

Seuraavassa esimerkissä esitetään tiettyjen kesto- ja kerroinarvojen palauttamat tuotteet:

BirtDuration.multiply( "P1Y3M15DT12H30M45S", 1)
// palauttaa arvon P1Y3M15DT12H30M45S
BirtDuration.multiply( "P5Y8DT15H", 0) // palauttaa arvon 0Y0DT0H

BirtDuration.negate

Tämä funktio palauttaa keston negatiivisen arvon.

Syntaksi

string BirtDuration.negate(string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Negatiiviseksi muutettava kesto.

Palautukset

Merkkijono. Syötetyn keston negatiivinen arvo.

Esimerkkejä

Seuraavissa esimerkeissä esitellään määritetyn keston negatiivinen tulos:

BirtDuration.negate( "P1Y3M15DT12H30M45S")
// palauttaa arvon -P1Y3M15DT12H30M45S

BirtDuration.second

Tämä funktio palauttaa määritetyn keston sekuntiosan arvon.

Syntaksi

integer BirtDuration.second(string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Kesto, jonka sekuntiosa noudetaan.

Palautukset

Kokonaisluku. Määritetyn keston sekuntiosaa vastaava luku.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut määritettyjen kestojen mukaiset sekuntiosien arvot:

BirtDuration.second( "P1Y3M15DT12H30M45S" ) // palauttaa arvon 5
BirtDuration.second( "P5Y8DT15H" ) // palauttaa arvon 0

BirtDuration.subtract

Tämä funktio vähentää keston toisesta kestosta.

Syntaksi

string BirtDuration.subtract(string lexicalDuration1, string lexicalDuration2)

Parametrit

lexicalDuration1

Merkkijono. Kesto, josta toinen kesto vähennetään.

lexicalDuration2

Merkkijono. LexicalDuration1-arvosta vähennettävä kesto.

Palautukset

Merkkijono. Kahden syötetyn keston erotus.

Esimerkkejä

Seuraavassa esimerkissä vähennetään kaksi kestoa:

BirtDuration.subtract("P1Y3M", "P13M") // palauttaa arvon P0Y2M

BirtDuration.timeInMills

Tämä funktio palauttaa tietyn keston pituuden millisekunteina määritetyn aloituspäivämäärän perusteella. Keston millisekuntilukema saattaa muuttua aloituspäivämäärän mukaan. Kuukauden kesto voi olla esimerkiksi 28, 29, 30 tai 31 päivää aloituspäivämäärän mukaan. Jos aloituspäivämäärä on 1.1. ja funktio laskee millisekuntien määrän aikaväliltä 1.1.-1.2. (1.2. pois lukien), tulos on 2 678 400 000 millisekuntia eli 31 päivää. Jos aloituspäivämäärä on 1.1.2009 (karkausvuosi) ja funktio laskee millisekuntien määrän aikaväliltä 1.2.–1.3., tulos on 2 505 600 000 millisekuntia eli 29 päivää.

Syntaksi

luku BirtDuration.timeInMills( merkkijono [lexicalDuration], päivämäärä [startDate] )

Parametrit

lexicalDuration

Merkkijono. Kesto, jonka pituus millisekunteina selvitetään.

aloituspäivä

Päivämääräobjekti. Kuvaa aloituspäivämäärää.

Palautukset

Lukuobjekti. Määritetyn keston pituus millisekunteina.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut, määritettyjen kestojen ja aloituspäivämäärien mukaiset pituudet millisekunteina:

BirtDuration.timeInMills( "P1Y3M10D" , "2009-01-01" ) // palauttaa arvon 40 172 400 000
BirtDuration.timeInMills( "P1Y3M10D" , "2008-01-01" ) // palauttaa arvon 40 258 800 000
BirtDuration.timeInMills( "PT6H45M20S" , "2009-01-01" ) // palauttaa arvon 24 320 000

BirtDuration.year

Tämä funktio palauttaa määritetyn keston vuosiosan arvon.

Syntaksi

integer BirtDuration.year(string lexicalDuration)

Parametri

lexicalDuration

Merkkijono. Kesto, jonka vuosiosa noudetaan.

Palautukset

Kokonaisluku. Määritetyn keston vuosiosaa vastaava luku.

Esimerkkejä

Seuraavissa esimerkeissä esitellään palautetut määritettyjen kestojen mukaiset vuosiosien arvot:

BirtDuration.year( "P1Y3M15DT12H30M45S" ) // palauttaa arvon 1
BirtDuration.year( "P8DT15H" ) // palauttaa arvon 0

(c) Copyright Actuate Corporation 2013