Forrige Næste

Klassen BirtDuration

Klassen BirtDuration indeholder funktioner, der kan hente dele af tidsrum eller varigheder, som bruges i XML-dokumenter. Varigheder angives i følgende format:

PnYnMnDTnHnMnS

hvor:

*
*
nY angiver antal år
*
nM angiver antal måneder
*
nD angiver antal dage
*
*
nH angiver antallet af timer
*
nM angiver antallet af minutter
*
nS angiver antallet af sekunder

Følgende værdi angiver f.eks. en varighed på 2 år, 3 måneder og 5 dage:

P2Y3M5D

Følgende værdi angiver en varighed på 10 timer:

PT10H

Klassen BirtDuration er statisk. Programmet kan ikke oprette forekomster af klassen.

BirtDuration.add

Funktionen lægger to varigheder sammen og returnerer summen.

Syntaks

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

Parametre

lexicalDuration1

Streng. Den første varighed, der skal lægges sammen.

lexicalDuration2

Streng. Den anden varighed, der skal lægges sammen.

Returnerer

Streng. Summen af de to angivne varigheder.

Eksempler

I følgende eksempel lægges to varigheder sammen:

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

BirtDuration.addTo

Funktionen lægger en varighed til et angivet datoobjekt.

Syntaks

Date BirtDuration.add(string lexicalDuration, Date date)

Parametre

lexicalDuration

Streng. Den varighed, der skal lægges til.

date

Datoobjekt. Datoen og klokkeslættet, der skal modificeres.

Returnerer

Datoobjekt. Den dato, som er resultatet af, at varigheden er lagt til.

Eksempler

I følgende eksempel lægges ét år til dags dato og det aktuelle klokkeslæt:

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

BirtDuration.compare

Funktionen tester, om en varighed er større end, mindre end eller lig med en anden varighed.

Syntaks

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

Parametre

lexicalDuration1

Streng. Den første varighed, der skal bruges i sammenligningen.

lexicalDuration2

Streng. Den anden varighed, der skal bruges i sammenligningen.

Returnerer

Heltal. Partiel ordningsrelation mellem de to varigheder. Returnerer 1, hvis den første varighed er størst, 0, hvis de er lige store, og -1, hvis den anden varighed er størst.

Eksempler

Følgende udtryk sammenligner bestemte varigheders længde:

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

BirtDuration.day

Funktionen returnerer værdien dage for en given varighed.

Syntaks

integer BirtDuration.day( string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, som værdien dage skal udtrækkes fra.

Returnerer

Et heltal, der repræsenterer værdien dage i den angivne varighed.

Eksempler

Følgende eksempler viser værdien dage returneret for bestemte varigheder:

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

BirtDuration.getSign

Funktionen returnerer fortegnet for en varighed.

Syntaks

integer BirtDuration.getSign(string lexicalDuration)

Parametre

lexicalDuration

Streng. Den varighed, der skal analyseres.

Returnerer

Heltal. Varighedens fortegn som en multiplikator. Returnerer 1 for en positiv varighed, -1 for en negativ varighed og 0 for NULL eller værdien 0.

Eksempler

Følgende udtryk analyserer sange med en bestemt varighed:

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

BirtDuration.hour

Funktionen returnerer værdien timer for en given varighed.

Syntaks

integer BirtDuration.hour( string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, som værdien timer skal udtrækkes fra.

Returnerer

Et heltal, der repræsenterer værdien timer i den angivne varighed.

Eksempler

Følgende eksempler viser værdien time returneret for bestemte varigheder:

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

BirtDuration.isLongerThan

Funktionen tester, om en varighed er længere end en anden varighed. Undertiden kan rækkefølgerelationen mellem visse varigheder ikke bestemmes, f.eks. mellem en måned (P1M) og 30 dage (P30D) eller mellem et år (P1Y) og 365 dage (P365D). I den slags tilfælde returnerer funktionen falsk.

Syntaks

boolean BirtDuration.isLongerThan( string lexicalDuration1, string lexicalDuration2 )

Parametre

lexicalDuration1

Streng. Den første varighed, der skal bruges i sammenligningen.

lexicalDuration2

Streng. Den anden varighed, der skal bruges i sammenligningen.

Returnerer

Boolesk. Sand, hvis den første varighed er længere end den anden varighed, ellers returneres falsk.

Eksempler

Følgende udtryk sammenligner bestemte varigheders længde:

BirtDuration.isLongerThan( "P1Y3M" , "P13M" ) // returnerer sand
BirtDuration.isLongerThan( "P2M" , "P62D" ) // returnerer falsk
BirtDuration.isLongerThan( "PT25H" , "P1D" ) // returnerer sand

BirtDuration.isShorterThan

Funktionen tester, om en varighed er kortere end en anden varighed. Undertiden kan rækkefølgerelationen mellem visse varigheder ikke bestemmes, f.eks. mellem en måned (P1M) og 30 dage (P30D) eller mellem et år (P1Y) og 365 dage (P365D). I den slags tilfælde returnerer funktionen falsk.

Syntaks

boolean BirtDuration.isShorterThan( string lexicalDuration1, string lexicalDuration2 )

Parametre

lexicalDuration1

Streng. Den første varighed, der skal bruges i sammenligningen.

lexicalDuration2

Streng. Den anden varighed, der skal bruges i sammenligningen.

Returnerer

Boolesk. Sand, hvis den første varighed er kortere end den anden varighed, ellers returneres falsk.

Eksempler

Følgende udtryk sammenligner bestemte varigheders længde:

BirtDuration.isShorterThan( "P1Y3M" , "P13M" ) // returnerer falsk
BirtDuration.isShorterThan( "P2M" , "P62D" ) // returnerer falsk
BirtDuration.isShorterThan( "PT25H" , "P1D" ) // returnerer falsk
BirtDuration.isShorterThan( "P27D" , "P1M" ) // returnerer sand

BirtDuration.minute

Funktionen returnerer værdien minutter for en given varighed.

Syntaks

integer BirtDuration.minute(string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, som værdien minutter skal udtrækkes fra.

Returnerer

Heltal. Et tal, der repræsenterer værdien minutter i den angivne varighed.

Eksempler

Følgende eksempler viser værdien minutter returneret for bestemte varigheder:

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

BirtDuration.month

Funktionen returnerer værdien måneder for en given varighed.

Syntaks

integer BirtDuration.month(string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, som værdien måneder skal udtrækkes fra.

Returnerer

Heltal. Et tal, der repræsenterer værdien måneder i den angivne varighed.

Eksempler

Følgende eksempler viser værdien måneder returneret for bestemte varigheder:

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

BirtDuration.multiply

Funktionen returnerer produktet af en varighed og et almindeligt tal.

Syntaks

string BirtDuration.multiply(string lexicalDuration, integer factor)

Parameter

lexicalDuration

Streng. En varighed, der skal multipliceres.

factor

Heltal. Et almindeligt tal, der skal multipliceres.

Returnerer

Streng. Produktet af den angivne varighed og faktoren.

Eksempler

Følgende eksempler viser de produkter, der returneres for en bestemt varighed og faktor:

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

BirtDuration.negate

Funktionen returnerer den negative værdi af en varighed.

Syntaks

string BirtDuration.negate(string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, der skal negeres.

Returnerer

Streng. Den negative værdi af den angivne varighed.

Eksempler

Følgende eksempler viser det negative resultat af en bestemt varighed:

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

BirtDuration.second

Funktionen returnerer værdien sekunder for en given varighed.

Syntaks

integer BirtDuration.second(string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, som værdien sekunder skal udtrækkes fra.

Returnerer

Heltal. Et tal, der repræsenterer værdien sekunder i den angivne varighed.

Eksempler

Følgende eksempler viser værdien sekunder returneret for bestemte varigheder:

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

BirtDuration.subtract

Funktionen trækker en varighed fra en anden varighed.

Syntaks

string BirtDuration.subtract(string lexicalDuration1, string lexicalDuration2)

Parametre

lexicalDuration1

Streng. Den varighed, en anden varighed skal trækkes fra.

lexicalDuration2

Streng. Den varighed, der skal trækkes fra lexicalDuration1.

Returnerer

Streng. Forskellen mellem de to angivne varigheder.

Eksempler

I følgende eksempel trækkes to varigheder fra hinanden:

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

BirtDuration.timeInMills

Funktionen returnerer antallet af millisekunder i en given varighed fra en angivet startdato. Antallet af millisekunder i en varighed kan skifte afhængigt af startdatoen. For eksempel kan varigheden af en måned være 28, 29, 30 eller 31 dage afhængigt af startdatoen. Hvis startdatoen er 1. januar, beregner funktionen antal millisekunder mellem 1. januar og 1. februar (1. februar ikke medregnet), hvilket er lig med 2678400000 millisekunder eller 31 dage. Hvis startdatoen er 1. februar 2009 (skudår), beregner funktionen antal millisekunder mellem 1. februar og 1. marts, hvilket er lig med 2505600000 millisekunder eller 29 dage.

Syntaks

Number BirtDuration.timeInMills( string lexicalDuration, Date startDate )

Parametre

lexicalDuration

Streng. En varighed, som længden i antal millisekunder skal hentes for.

startDate

Datoobjekt. Repræsenterer startdatoen.

Returnerer

Talobjekt. Antallet af millisekunder i den angivne varighed.

Eksempler

Følgende eksempler viser det antal millisekunder, der returneres for bestemte varigheder og startdatoer:

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

BirtDuration.year

Funktionen returnerer værdien år for en given varighed.

Syntaks

integer BirtDuration.year(string lexicalDuration)

Parameter

lexicalDuration

Streng. En varighed, som værdien år skal udtrækkes fra.

Returnerer

Heltal. Et tal, der repræsenterer værdien år i den angivne varighed.

Eksempler

Følgende eksempler viser værdien år returneret for bestemte varigheder:

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

(c) Copyright Actuate Corporation 2013