Vorige Volgende

Klasse BirtDuration

De klasse BirtDuration biedt functies voor het ophalen van delen van tijdsduur en tijdsperioden die in XML-objecten worden gebruikt. De duur wordt opgegeven in de volgende vorm:

PnYnMnDTnHnMnS

Hierbij geldt het volgende:

*
*
nY geeft het aantal jaren aan
*
nM geeft het aantal maanden aan
*
nD geeft het aantal dagen aan
*
*
nH geeft het aantal uren aan
*
nM geeft het aantal minuten aan
*
nS geeft het aantal seconden aan

De volgende waarde geeft bijvoorbeeld een duur aan van 2 jaar, 3 maanden en 5 dagen:

P2Y3M5D

De volgende waarde geeft een duur van 10 uur aan:

PT10H

BirtDuration is een statische klasse. De toepassing kan geen instances van de klasse maken.

BirtDuration.add

Deze functie telt twee tijdsduren bij elkaar op en levert als resultaat de som op.

Syntaxis

BirtDuration.add(lexicaleDuur1, lexicaleDuur2)

Parameters

lexicaleDuur1

Tekenreeks. De eerste tijdsduur om toe te voegen.

lexicaleDuur2

Tekenreeks. De tweede tijdsduur om toe te voegen.

Resultaat

Tekenreeks. De som van de twee invoerperioden.

Voorbeelden

In het volgende voorbeeld worden twee tijdsduren bij elkaar opgeteld:

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

BirtDuration.addTo

Deze functie telt een tijdsduur op bij een opgegeven datumobject.

Syntaxis

BirtDuration.add( lexicaleDuur, datum )

Parameters

lexicaleDuur

Tekenreeks. De tijdsduur om op te tellen.

datum

Datumobject. De te wijzigen datum en tijd.

Resultaat

Datumobject. De datum na verlopen van de tijdsduur.

Voorbeelden

In het volgende voorbeeld wordt een jaar opgeteld bij de huidige datum en tijd:

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

BirtDuration.compare

Deze functie controleert of een periode een langere of kortere duur heeft dan een andere periode, of een gelijke duur.

Syntaxis

BirtDuration.compare( lexicaleDuur1, lexicaleDuur2 )

Parameters

lexicaleDuur1

Tekenreeks. De eerste periode voor de vergelijking.

lexicaleDuur2

Tekenreeks. De tweede periode voor de vergelijking.

Resultaat

Geheel getal. Gedeeltelijke volgorderelatie tussen de twee perioden. Levert 1 op als de eerste periode groter is, 0 als de twee gelijk zijn en -1 als de tweede periode groter is.

Voorbeelden

In de volgende expressies wordt de duur van specifieke perioden vergeleken:

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

BirtDuration.day

Deze functie berekent de waarde voor dagen in een bepaalde periode.

Syntaxis

BirtDuration.day( lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode waaruit een waarde voor dagen wordt opgehaald.

Resultaat

Een geheel getal dat het aantal dagen in een opgegeven periode aangeeft.

Voorbeelden

Het resultaat van de volgende voorbeelden is de dagwaarde die voor specifieke perioden wordt geretourneerd.

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

BirtDuration.getSign

Deze functie retourneert het teken van een periode.

Syntaxis

BirtDuration.getSign(lexicaleDuur)

Parameters

lexicaleDuur

Tekenreeks. De te analyseren periode.

Resultaat

Geheel getal. Het teken van de periode als vermenigvuldiger. Levert 1 op voor een positieve periode, -1 voor een negatieve periode en 0 voor null of waarde 0.

Voorbeelden

De volgende expressie analyseert de tekens van een specifieke periode:

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

BirtDuration.hour

Deze functie berekent de waarde voor uren in een bepaalde periode.

Syntaxis

BirtDuration.hour( lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode waaruit een waarde voor uren wordt opgehaald.

Resultaat

Een geheel getal dat het aantal uren in een opgegeven periode aangeeft.

Voorbeelden

Het resultaat van de volgende voorbeelden is de uurwaarde die voor specifieke perioden wordt geretourneerd.

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

BirtDuration.isLongerThan

Deze functie controleert of een periode een langere duur heeft dan een andere periode. Soms kan geen verschil worden vastgesteld tussen bepaalde perioden, bijvoorbeeld 1 maand (P1M) en 30 dagen (P30D) of 1 jaar (P1Y) en 365 dagen (P365D). In dergelijke gevallen retourneert de functie de waarde false (onwaar).

Syntaxis

BirtDuration.isLongerThan( lexicaleDuur1, lexicaleDuur2 )

Parameters

lexicaleDuur1

Tekenreeks. De eerste periode voor de vergelijking.

lexicaleDuur2

Tekenreeks. De tweede periode voor de vergelijking.

Resultaat

Booleaans. Levert de waarde true op als de eerste periode langer is dan de tweede; retourneert false als dit niet het geval is.

Voorbeelden

In de volgende expressies wordt de duur van specifieke perioden vergeleken:

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

BirtDuration.isShorterThan

Deze functie controleert of een periode een kortere duur heeft dan een andere periode. Soms kan geen verschil worden vastgesteld tussen bepaalde perioden, bijvoorbeeld 1 maand (P1M) en 30 dagen (P30D) of 1 jaar (P1Y) en 365 dagen (P365D). In dergelijke gevallen retourneert de functie de waarde false (onwaar).

Syntaxis

BirtDuration.isShorterThan( lexicaleDuur1, lexicaleDuur2 )

Parameters

lexicaleDuur1

Tekenreeks. De eerste periode voor de vergelijking.

lexicaleDuur2

Tekenreeks. De tweede periode voor de vergelijking.

Resultaat

Booleaans. Levert de waarde true op als de eerste periode korter is dan de tweede; retourneert false als dit niet het geval is.

Voorbeelden

In de volgende expressies wordt de duur van specifieke perioden vergeleken:

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

BirtDuration.minute

Deze functie berekent de waarde voor minuten in een bepaalde periode.

Syntaxis

BirtDuration.minute(lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode waaruit een waarde voor minuten wordt opgehaald.

Resultaat

Geheel getal. Een getal dat het aantal minuten in een opgegeven periode aangeeft.

Voorbeelden

Het resultaat van de volgende voorbeelden is de minuutwaarde die voor specifieke perioden wordt geretourneerd.

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

BirtDuration.month

Deze functie berekent de waarde voor maanden in een bepaalde periode.

Syntaxis

BirtDuration.month(lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode waaruit een waarde voor maanden wordt opgehaald.

Resultaat

Geheel getal. Een getal dat het aantal maanden in een opgegeven periode aangeeft.

Voorbeelden

Het resultaat van de volgende voorbeelden is de maandwaarde die voor specifieke perioden wordt geretourneerd.

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

BirtDuration.multiply

Deze functie levert het produkt op van een periode en een gewoon getal.

Syntaxis

BirtDuration.multiply(lexicaleDuur, integer factor)

Parameter

lexicaleDuur

Tekenreeks. Een periode om te vermenigvuldigen.

factor

Geheel getal. Een gewoon getal om te vermenigvuldigen.

Resultaat

Tekenreeks. Het produkt van de invoerperiode en de factor.

Voorbeelden

In de volgende voorbeelden ziet u het product van forumspecifieke perioden en een factor:

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

BirtDuration.negate

Deze functie levert de negatieve waarde van een periode op.

Syntaxis

BirtDuration.negate(lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode om uit te schakelen.

Resultaat

Tekenreeks. De negatieve waarde van de invoerperiode.

Voorbeelden

De volgende voorbeelden tonen het negatieve resultaat van een specifieke periode:

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

BirtDuration.second

Deze functie berekent de waarde voor seconden in een bepaalde periode.

Syntaxis

BirtDuration.second(lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode waaruit een waarde voor seconden wordt opgehaald.

Resultaat

Geheel getal. Een getal dat het aantal seconden in een opgegeven periode aangeeft.

Voorbeelden

Het resultaat van de volgende voorbeelden is de secondewaarde die voor specifieke perioden wordt geretourneerd.

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

BirtDuration.subtract

Deze functie trekt een periode van een andere periode af.

Syntaxis

BirtDuration.subtract(lexicaleDuur1, lexicaleDuur2)

Parameters

lexicaleDuur1

Tekenreeks. De periode om van af te trekken.

lexicaleDuur2

Tekenreeks. De periode die van lexicaleDuur1 wordt afgetrokken.

Resultaat

Tekenreeks. Het verschil van de twee invoerperioden.

Voorbeelden

In het volgende voorbeeld worden twee perioden van elkaar afgetrokken:

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

BirtDuration.timeInMills

Deze functie heeft als resultaat het aantal milliseconden in een bepaalde periode, gerekend vanaf een bepaalde startdatum. Het aantal milliseconden in een periode kan verschillen, afhankelijk van de begindatum. De duur van een maand kan bijvoorbeeld 28, 29, 30 of 31 dagen bedragen, afhankelijk van de begindatum. Als de begindatum 1 januari is, berekent de functie de milliseconden tussen 1 januari en 1 februari (1 februari niet meegeteld). Het resultaat is 2678400000 milliseconden ofwel 31 dagen. Als de begindatum 1 februari 2009 is (een schrikkeljaar), berekent de functie demilliseconden tussen 1 februari en 1 maart. Het resultaat is 2505600000 milliseconden ofwel 29 dagen.

Syntaxis

BirtDuration.timeInMills( lexicaleDuur, Date startDate)

Parameters

lexicaleDuur

Tekenreeks. Een periode waarvan de duur in milliseconden uitgedrukt moet worden.

startDate

Datumobject. Vertegenwoordigt de begindatum.

Resultaat

Getalsobject. Het aantal milliseconden in de opgegeven periode.

Voorbeelden

Het resultaat van de volgende voorbeelden is het aantal milliseconden dat voor specifieke perioden en startdatums wordt geretourneerd.

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

BirtDuration.year

Deze functie berekent de waarde voor jaren in een bepaalde periode.

Syntaxis

BirtDuration.year(lexicaleDuur)

Parameter

lexicaleDuur

Tekenreeks. Een periode waaruit een waarde voor jaren wordt opgehaald.

Resultaat

Geheel getal. Een getal dat het aantal jaren in een opgegeven periode aangeeft.

Voorbeelden

Het resultaat van de volgende voorbeelden is de jaarwaarde die voor specifieke perioden wordt geretourneerd.

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

(c) Copyright Actuate Corporation 2013