Poprzedni Następny

Klasa BirtDuration

Klasa BirtDuration udostępnia funkcje, które pozwalają uzyskać fragmenty czasu (przedziały czasu) używane następnie w dokumentach XML. Przedziały czasu określa się w następującej postaci:

PnYnMnDTnHnMnS

gdzie:

*
*
nY oznacza liczbę lat
*
nM oznacza liczbę miesięcy
*
nD oznacza liczbę dni
*
*
nH oznacza liczbę godzin
*
nM oznacza liczbę minut
*
nS oznacza liczbę sekund

Na przykład następująca wartość oznacza przedział czasu wynoszący 2 lata, 3 miesiące i 5 dni:

P2Y3M5D

Następująca wartość określa czas trwania wynoszący 10 godzin:

PT10H

Klasa BirtDuration jest klasą statyczną. Aplikacja nie może tworzyć instancji klasy.

Funkcja BirtDuration.add

Funkcja dodaje dwa czasy trwania i zwraca ich sumę.

Składnia

string BirtDuration.add(string wartośćLeksykalnaCzasuTrwania1, string wartośćLeksykalnaCzasuTrwania2)

Parametry

wartośćLeksykalnaCzasuTrwania1

Łańcuch. Pierwszy dodawany czas trwania.

wartośćLeksykalnaCzasuTrwania2

Łańcuch. Drugi dodawany czas trwania.

Wartość zwracana

Łańcuch. Suma dwóch wejściowych czasów trwania.

Przykłady

Następujący przykład sumuje dwa czasy trwania:

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

Funkcja BirtDuration.addTo

Funkcja dodaje czas trwania do podanego obiektu typu Date.

Składnia

Date BirtDuration.add(string wartośćLeksykalnaCzasuTrwania, Date data)

Parametry

wartośćLeksykalnaCzasuTrwania

Łańcuch. Dodawany czas trwania.

data

Obiekt typu Date. Modyfikowana data i godzina.

Wartość zwracana

Obiekt typu Date. Data powiększona o podany czas trwania.

Przykłady

W następującym przykładzie do dzisiejszej daty i godziny zostanie dodany jeden rok:

var dziś = new Date();
var dataPlusRok = BirtDuration.addTo(dziś, "P1Y")

Funkcja BirtDuration.compare

Za pomocą tej funkcji można sprawdzić, czy jeden przedział czasu jest od drugiego krótszy, dłuższy, czy też są one takie same.

Składnia

integer BirtDuration.compare(string wartośćLeksykalnaCzasuTrwania1, string wartośćLeksykalnaCzasuTrwania2)

Parametry

wartośćLeksykalnaCzasuTrwania1

Łańcuch. Pierwszy czas trwania w porównaniu.

wartośćLeksykalnaCzasuTrwania2

Łańcuch. Drugi czas trwania w porównaniu.

Wartość zwracana

Liczba całkowita. Relacja częściowego porządku między dwoma czasami trwania. Zwraca wartość 1, jeśli pierwszy przedział czasu jest dłuższy, wartość 0, jeśli przedziały są równe, lub wartość -1, jeśli drugi przedział czasu jest dłuższy.

Przykłady

Następujące wyrażenia przedstawiają sposób porównania długości określonych czasów trwania:

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

BirtDuration.day

Za pomocą tej funkcji można uzyskać liczbę dni w danym czasie trwania.

Składnia

integer BirtDuration.day(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, z którego ma być pobrana liczba dni.

Wartość zwracana

Liczba całkowita odpowiadająca liczbie dni w podanym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę dni zwracaną dla określonych czasów trwania:

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

Funkcja BirtDuration.getSign

Funkcja zwraca znak czasu trwania.

Składnia

integer BirtDuration.getSign(string wartośćLeksykalnaCzasuTrwania)

Parametry

wartośćLeksykalnaCzasuTrwania

Łańcuch. Analizowany czas trwania.

Wartość zwracana

Liczba całkowita. Znak okresu trwania jako mnożnik. Zwraca wartość 1 dla dodatniego przedziału czasu, wartość -1 dla ujemnego przedziału czasu lub wartość 0 dla wartości null bądź 0.

Przykłady

Następujące wyrażenie analizuje znaki określonego czasu trwania:

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

BirtDuration.hour

Za pomocą tej funkcji można uzyskać liczbę godzin w danym czasie trwania.

Składnia

integer BirtDuration.hour(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, z którego ma być pobrana liczba godzin.

Wartość zwracana

Liczba całkowita odpowiadająca liczbie godzin w podanym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę godzin zwracaną dla określonych czasów trwania:

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

BirtDuration.isLongerThan

Za pomocą tej funkcji można sprawdzić, czy jeden czas trwania jest dłuższy od drugiego. Czasami nie jest możliwe określenie relacji porządkującej między przedziałami czasu: na przykład dla jednego miesiąca (P1M) i 30 dni (P30D) lub jednego roku (P1Y) i 365 dni (P365D). W takich przypadkach funkcja zwróci wartość false.

Składnia

boolean BirtDuration.isLongerThan(string wartośćLeksykalnaCzasuTrwania1, string wartośćLeksykalnaCzasuTrwania2)

Parametry

wartośćLeksykalnaCzasuTrwania1

Łańcuch. Pierwszy czas trwania w porównaniu.

wartośćLeksykalnaCzasuTrwania2

Łańcuch. Drugi czas trwania w porównaniu.

Wartość zwracana

Wartość boolowska. Wartość true, jeśli pierwszy przedział czasu jest dłuższy od drugiego. W przeciwnym razie wartość false.

Przykłady

Następujące wyrażenia przedstawiają sposób porównania długości określonych czasów trwania:

BirtDuration.isLongerThan( "P1Y3M" , "P13M" ) // zwraca wartość true
BirtDuration.isLongerThan( "P2M" , "P62D" ) // zwraca wartość false
BirtDuration.isLongerThan( "PT25H" , "P1D" ) // zwraca wartość true

BirtDuration.isShorterThan

Za pomocą tej funkcji można sprawdzić, czy jeden czas trwania jest krótszy od drugiego. Czasami nie jest możliwe określenie relacji porządkującej między przedziałami czasu: na przykład dla jednego miesiąca (P1M) i 30 dni (P30D) lub jednego roku (P1Y) i 365 dni (P365D). W takich przypadkach funkcja zwróci wartość false.

Składnia

boolean BirtDuration.isShorterThan(string wartośćLeksykalnaCzasuTrwania1, string wartośćLeksykalnaCzasuTrwania2)

Parametry

wartośćLeksykalnaCzasuTrwania1

Łańcuch. Pierwszy czas trwania w porównaniu.

wartośćLeksykalnaCzasuTrwania2

Łańcuch. Drugi czas trwania w porównaniu.

Wartość zwracana

Wartość boolowska. Wartość true, jeśli pierwszy przedział czasu jest krótszy od drugiego. W przeciwnym przypadku wartość false.

Przykłady

Następujące wyrażenia przedstawiają sposób porównania długości określonych czasów trwania:

BirtDuration.isShorterThan( "P1Y3M" , "P13M" ) // zwraca wartość false
BirtDuration.isShorterThan( "P2M" , "P62D" ) // zwraca wartość false
BirtDuration.isShorterThan( "PT25H" , "P1D" ) // zwraca wartość false
BirtDuration.isShorterThan( "P27D" , "P1M" ) // zwraca wartość true

BirtDuration.minute

Za pomocą tej funkcji można uzyskać liczbę minut w danym czasie trwania.

Składnia

integer BirtDuration.minute(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, z którego zostanie uzyskana liczba minut.

Wartość zwracana

Liczba całkowita. Liczba odpowiadająca liczbie minut w określonym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę minut zwracaną dla określonych czasów trwania:

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

BirtDuration.month

Za pomocą tej funkcji można uzyskać liczbę miesięcy w danym czasie trwania.

Składnia

integer BirtDuration.month(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, z którego zostanie uzyskana liczba miesięcy.

Wartość zwracana

Liczba całkowita. Liczba odpowiadająca liczbie miesięcy w określonym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę miesięcy zwracaną dla określonych czasów trwania:

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

Funkcja BirtDuration.multiply

Funkcja zwraca iloczyn czasu trwania i podanej liczby.

Składnia

string BirtDuration.multiply(string wartośćLeksykalnaCzasuTrwania, integer współczynnik)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Mnożony czas trwania.

współczynnik

Liczba całkowita. Zwykła liczba używana jako mnożnik.

Wartość zwracana

Łańcuch. Iloczyn podanego czasu trwania i mnożnika.

Przykłady

Następujące przykłady pokazują iloczyny zwracane dla wybranych przedziałów czasu i współczynników:

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

Funkcja BirtDuration.negate

Funkcja zwraca ujemną wartość czasu trwania.

Składnia

string BirtDuration.negate(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, którego wartość ujemna ma zostać obliczona.

Wartość zwracana

Łańcuch. Wartość ujemna wejściowego czasu trwania.

Przykłady

Następujące przykłady pokazują wartość ujemną określonego czasu trwania:

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

BirtDuration.second

Za pomocą tej funkcji można uzyskać liczbę sekund w danym czasie trwania.

Składnia

integer BirtDuration.second(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, z którego zostanie uzyskana liczba sekund.

Wartość zwracana

Liczba całkowita. Liczba odpowiadająca liczbie sekund w określonym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę sekund zwracaną dla określonych czasów trwania:

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

Funkcja BirtDuration.subtract

Funkcja odejmuje czas trwania od innego czasu trwania.

Składnia

string BirtDuration.subtract(string wartośćLeksykalnaCzasuTrwania1, string wartośćLeksykalnaCzasuTrwania2)

Parametry

wartośćLeksykalnaCzasuTrwania1

Łańcuch. Czas trwania, od którego zostanie odjęty inny.

wartośćLeksykalnaCzasuTrwania2

Łańcuch. Czas trwania odejmowany od argumentu wartośćLeksykalnaCzasuTrwania1.

Wartość zwracana

Łańcuch. Różnica dwóch wejściowych czasów trwania.

Przykłady

Następujący przykład odejmuje jeden czas trwania od drugiego:

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

BirtDuration.timeInMills

Ta funkcja zwraca liczbę milisekund w podanym przedziale czasu, który jest liczony od określonej daty początkowej. Liczba milisekund w czasie trwania może ulec zmianie w zależności od daty początkowej. Na przykład czas trwania miesiąca może wynosić 28, 29, 30 lub 31 dni. Jeśli datą początkową jest 1 stycznia, funkcja obliczy liczbę milisekund między 1 stycznia i 1 lutego (nie wliczając 1 lutego). Wynikiem będzie 2678400000 milisekund, czyli 31 dni. Jeśli datą początkową jest 1 lutego 2008 r. (rok przestępny), funkcja obliczy liczbę milisekund między 1 lutego i 1 marca. Wynikiem będzie 2505600000 milisekund, czyli 29 dni.

Składnia

Number BirtDuration.timeInMills(string wartośćLeksykalnaCzasuTrwania, Date dataPoczątkowa)

Parametry

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, który ma być podany w milisekundach.

dataPoczątkowa

Obiekt typu Date. Reprezentuje datę początkową.

Wartość zwracana

Obiekt Number. Liczba milisekund w podanym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę milisekund zwracaną dla określonych przedziałów czasu i dat początkowych:

BirtDuration.timeInMills( "P1Y3M10D" , "2009-01-01" ) // zwraca wartość 40172400000
BirtDuration.timeInMills( "P1Y3M10D" , "2008-01-01" ) // zwraca wartość 40258800000
BirtDuration.timeInMills( "PT6H45M20S" , "2009-01-01" ) // zwraca wartość 24320000

BirtDuration.year

Za pomocą tej funkcji można uzyskać liczbę lat w danym czasie trwania.

Składnia

integer BirtDuration.year(string wartośćLeksykalnaCzasuTrwania)

Parametr

wartośćLeksykalnaCzasuTrwania

Łańcuch. Czas trwania, z którego zostanie uzyskana liczba lat.

Wartość zwracana

Liczba całkowita. Liczba odpowiadająca liczbie lat w określonym czasie trwania.

Przykłady

Następujące przykłady pokazują liczbę lat zwracaną dla określonych czasów trwania:

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

(c) Copyright Actuate Corporation 2013