Föregående Nästa

Klassen BirtDuration

Klassen BirtDuration innehåller funktioner för att hämta delar av tidsperioder eller varaktighet som används i XML-dokument. Varaktigheter anges i följande form:

PnYnMnDTnHnMnS

där:

*
*
nY är antalet år
*
nM är antalet månader
*
nD är antalet dagar
*
*
nH är antalet timmar
*
nM är antalet minuter
*
nS är antalet sekunder

Följande värde visar en varaktighet på två år, tre månader och fem dagar:

P2Y3M5D

Följande värde visar en varaktighet på tio timmar

PT10H

Klassen BirtDuration är statisk. Tillämpningen kan inte skapa förekomster av klassen.

BirtDuration.add

Funktionen adderar två varaktigheter och returnerar summan.

Syntax

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

Parametrar

lexicalDuration1

Sträng. Den första varaktigheten att lägga till.

lexicalDuration2

Sträng. Den andra varaktigheten att lägga till.

Returnerar

Sträng. Summan av två invaraktigheter.

Exempel

Följande exempel lägger till två varaktigheter:

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

BirtDuration.addTo

Funktionen lägger till en varaktighet till ett angivet Datum-objekt.

Syntax

Date BirtDuration.add(string lexicalDuration, Date date)

Parametrar

lexicalDuration

Sträng. Varaktigheten att lägga till.

date

Datumobjekt. Datum/klockslag som ska ändras.

Returnerar

Datumobjekt. Det datum som ändras i och med varaktigheten.

Exempel

Följande exempel adderar ett år till dagens datum och klockslag.:

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

BirtDuration.compare

Funktionen testar om en varaktighet är samma, längre än eller kortare än en annan.

Syntax

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

Parametrar

lexicalDuration1

Sträng. Den första varaktigheten i jämförelsen.

lexicalDuration2

Sträng. Den andra varaktigheten i jämförelsen.

Returnerar

Heltal. Delorderrelation mellan de båda varaktigheterna. Returnerar 1 om den första varaktigheten är större, 0 om de är lika och -1 om den andra är större.

Exempel

Följande uttryck jämför längden på varaktigheter:

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

BirtDuration.day

Funktionen returnerar dagvärdet för en given varaktighet.

Syntax

integer BirtDuration.day( string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet som dagvärdet ska hämtas ifrån.

Returnerar

Ett heltal som motsvarar dagvärdet för angiven varaktighet.

Exempel

Följande exempel visar dagvärden för varaktigheter:

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

BirtDuration.getSign

Funktionen returnerar tecknet för en varaktighet.

Syntax

integer BirtDuration.getSign(string lexicalDuration)

Parametrar

lexicalDuration

Sträng. Varaktigheten att analysera.

Returnerar

Heltal. Tecknet för en varaktighet som en multipikator. Returnerar 1 för en positiv varaktighet, -1 för en positiv varaktighet ochd 0 för null eller värdet 0.

Exempel

Följande uttryck analyserar tecknen för en specifik varaktighet:

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

BirtDuration.hour

Funktionen returnerar timvärdet för en given varaktighet.

Syntax

integer BirtDuration.hour( string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet som timvärdet ska hämtas ifrån.

Returnerar

Ett heltal som motsvarar timvärdet för angiven varaktighet.

Exempel

Följande exempel visar timvärden för varaktigheter:

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

BirtDuration.isLongerThan

Funktionen testar om en varaktighet är längre än en annan. Ibland går det inte att bestämma ordningen mellan varaktigheter, t.ex. en månad (P1M) och 30 dagar (P30D) eller ett år (P1Y) och 365 dagar (P365D). I dessa fall returnerar funktionen värdet false.

Syntax

boolean BirtDuration.isLongerThan(string lexicalDuration1, string lexicalDuration2)

Parametrar

lexicalDuration1

Sträng. Den första varaktigheten i jämförelsen.

lexicalDuration2

Sträng. Den andra varaktigheten i jämförelsen.

Returnerar

Boolesk. True om den första varaktigheten är längre än den andra, i annat fall false.

Exempel

Följande uttryck jämför längden på varaktigheter:

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

BirtDuration.isShorterThan

Funktionen testar om en varaktighet är kortare än en annan. Ibland går det inte att bestämma ordningen mellan varaktigheter, t.ex. en månad (P1M) och 30 dagar (P30D) eller ett år (P1Y) och 365 dagar (P365D). I dessa fall returnerar funktionen värdet false.

Syntax

boolean BirtDuration.isShorterThan(string lexicalDuration1, string lexicalDuration2)

Parametrar

lexicalDuration1

Sträng. Den första varaktigheten i jämförelsen.

lexicalDuration2

Sträng. Den andra varaktigheten i jämförelsen.

Returnerar

Boolesk. True om den första varaktigheten är kortare än den andra, i annat fall false.

Exempel

Följande uttryck jämför längden på varaktigheter:

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

BirtDuration.minute

Funktionen returnerar minutvärdet för en given varaktighet.

Syntax

integer BirtDuration.minute(string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet som minutvärdet ska hämtas ifrån.

Returnerar

Heltal. Ett tal som motsvarar minutvärdet för angiven varaktighet.

Exempel

Följande exempel visar minutvärden för varaktigheter:

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

BirtDuration.month

Funktionen returnerar månadsvärdet för en given varaktighet.

Syntax

integer BirtDuration.month(string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet som månadsvärdet ska hämtas ifrån.

Returnerar

Heltal. Ett tal som motsvarar månadsvärdet för angiven varaktighet.

Exempel

Följande exempel visar månadsvärden för varaktigheter:

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

BirtDuration.multiply

Funktionen returnerar produkten av en varaktighet och ett vanligt nummer.

Syntax

string BirtDuration.multiply(string lexicalDuration, integer factor)

Parameter

lexicalDuration

Sträng. En varaktighet att multiplicera.

faktor

Heltal. En nummer att multiplicera.

Returnerar

Sträng. Produkten av ins-varaktigheten och faktorn.

Exempel

Följande exempel visar produkter som returneras för en specifik varaktighet och faktor:

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

BirtDuration.negate

Funktionen returnerar det negativa värdet för en varaktighet.

Syntax

string BirtDuration.negate(string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet att negera.

Returnerar

Sträng. Det negativa värdet av in-varaktigheten.

Exempel

Följande exempel visar det negativa resultatet från en specifik varaktighet:

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

BirtDuration.second

Funktionen returnerar sekundvärdet för en given varaktighet.

Syntax

integer BirtDuration.second(string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet som sekundvärdet ska hämtas ifrån.

Returnerar

Heltal. Ett tal som motsvarar sekundvärdet för angiven varaktighet.

Exempel

Följande exempel visar sekundvärden för varaktigheter:

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

BirtDuration.subtract

Funktionen subtraherar en varaktighet från en annan varaktighet.

Syntax

string BirtDuration.subtract(string lexicalDuration1, string lexicalDuration2)

Parametrar

lexicalDuration1

Sträng. Varaktigheten som ska subtraheras från.

lexicalDuration2

Sträng. Varaktigheten subtraherad från lexicalDuration1.

Returnerar

Sträng. Skillnaden mellan två invaraktigheterer.

Exempel

Följande exempel subtraherar två varaktigheter:

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

BirtDuration.timeInMills

Funktionen returnerar antalet millisekunder för en given varaktighet från angivet startdatum. Antalet millisekunder i en varaktighet kan ändras beroende på startdatumet. En varaktighet på en månad kan vara 28, 29, 30 eller 31 dagar beroende på startdatum. Om startdatum är 1 januari beräknas millisekunderna mellan 1 januari och 1 februari (exklusive 1 februari) vilket ger 2 678 400 000 eller 31 dagar. Om startdatumet är 1 februari 2009 (skottår) beräknas millisekunderna mellan 1 februari och 1 mars, vilket ger 2 505 600 000 millisekunder eller 29 dagar.

Syntax

Number BirtDuration.timeInMills( string lexicalDuration, Date startDate )

Parametrar

lexicalDuration

Sträng. En varaktighet vars längd i millisekunder ska hämtas.

startDate

Datumobjekt. Motsvarar startdatumet.

Returnerar

Talobjekt. Antalet millisekunder för angiven varaktighet.

Exempel

Följande exempel visar antalet millisekunder för varaktigheter och startdatum:

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

BirtDuration.year

Funktionen returnerar årsvärdet för en given varaktighet.

Syntax

integer BirtDuration.year(string lexicalDuration)

Parameter

lexicalDuration

Sträng. En varaktighet som årsvärdet ska hämtas ifrån.

Returnerar

Heltal. Ett tal som motsvarar årsvärdet för angiven varaktighet.

Exempel

Följande exempel visar årsvärden för varaktigheter:

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

(c) Copyright Actuate Corporation 2013