BirtDuration 類別提供一些函數,來取得 XML 文件中所用之時段或期間中的某些部分。期間的指定格式如下:
其中:
例如,以下的值代表期間為 2 年 3 個月又 5 天:
以下的值代表期間為 10 個小時:
BirtDuration 類別為靜態的。應用程式無法建立這個類別的實例。
這個函數會將兩段期間加在一起,並且傳回總和。
語法
參數
lexicalDuration1
String。要新增的第一段期間。
lexicalDuration2
String。要新增的第二段期間。
傳回
String。兩段輸入期間的總和。
範例
下列範例會新增兩段期間:
這個函數會將期間新增至指定的 Date 物件。
語法
參數
lexicalDuration
String。要新增的期間。
date
Date 物件。要修改的日期和時間。
傳回
Date 物件。此期間提前的日期。
範例
下列範例會將今天的日期和時間增加一年:
這個函數會測試某段期間與另一段期間相同,或是大於或小於另一段期間。
語法
參數
lexicalDuration1
String。比較中使用的第一段期間。
lexicalDuration2
String。比較中使用的第二段期間。
傳回
Integer。兩段期間之間的局部順序關係。如果第一段期間較大,則傳回 1,如果它們相等,則傳回 0,如果第二段期間較大,則傳回 -1。
範例
下列表示式比較特定期間的長度:
這個函數會傳回給定期間的天數值。
語法
參數
lexicalDuration
String。要從中取得天數值的期間。
傳回
一個代表指定期間中天數值的整數。
範例
下列範例顯示針對特定期間所傳回的天數值:
這個函數會傳回期間的正負號。
語法
參數
lexicalDuration
String。要分析的期間。
傳回
Integer。作為乘數的期間正負號。如果是正數期間,則傳回 1,如果是負數期間,則傳回 -1,如果是空值或 0 值,則傳回 0。
範例
下列表示式會分析特定期間的符號:
這個函數會傳回給定期間的小時值。
語法
參數
lexicalDuration
String。要從中取得小時值的期間。
傳回
一個代表指定期間中小時值的整數。
範例
下列範例顯示針對特定期間所傳回的小時值:
這個函數會測試某段期間是否長於另一段期間。有時某些期間之間的順序關係無法判斷,例如,一個月 (P1M) 與 30 天 (P30D),或是一年 (P1Y) 與 365 天 (P365D)。當遇到這類情況時,函數會傳回 false。
語法
參數
lexicalDuration1
String。比較中使用的第一段期間。
lexicalDuration2
String。比較中使用的第二段期間。
傳回
Boolean。如果第一段期間長於第二段期間,則為 true;否則就傳回 false。
範例
下列表示式比較特定期間的長度:
這個函數會測試某段期間是否短於另一段期間。有時某些期間之間的順序關係無法判斷,例如,一個月 (P1M) 與 30 天 (P30D),或是一年 (P1Y) 與 365 天 (P365D)。當遇到這類情況時,函數會傳回 false。
語法
參數
lexicalDuration1
String。比較中使用的第一段期間。
lexicalDuration2
String。比較中使用的第二段期間。
傳回
Boolean。如果第一段期間短於第二段期間,則為 true;否則就傳回 false。
範例
下列表示式比較特定期間的長度:
這個函數會傳回給定期間中的分鐘值。
語法
參數
lexicalDuration
String。要從中取得分鐘值的期間。
傳回
Integer。一個代表指定期間中分鐘值的數字。
範例
下列範例顯示針對特定期間所傳回的分鐘值:
這個函數會傳回給定期間的月數值。
語法
參數
lexicalDuration
String。要從中取得月數值的期間。
傳回
Integer。一個代表指定期間中月數值的數字。
範例
下列範例顯示針對特定期間所傳回的月數值:
這個函數會傳回期間與正規數的乘積。
語法
參數
lexicalDuration
String。要相乘的期間。
因數
Integer。要相乘的正規數。
傳回
String。輸入期間與因數的乘積。
範例
下列範例顯示針對特定期間與因數所傳回的乘積:
這個函數會傳回期間的負值。
語法
參數
lexicalDuration
String。要否定的期間。
傳回
String。輸入期間的負值。
範例
下列範例顯示特定期間產生的負數:
這個函數會傳回給定期間中的秒數值。
語法
參數
lexicalDuration
String。要從中取得秒數值的期間。
傳回
Integer。一個代表指定期間中秒數值的數字。
範例
下列範例顯示針對特定期間所傳回的秒數值:
這個函數會從另一段期間減去某段期間。
語法
參數
lexicalDuration1
String。要從中減去的期間。
lexicalDuration2
String。從 lexicalDuration1 中減去的期間。
傳回
String。兩段輸入期間的差值。
範例
下列範例會將兩段期間相減:
這個函數會傳回給定期間中,從指定起始日期算起的毫秒數。期間中的毫秒數可能因起始日期而有改變。例如,一個月期間可以是 28、29、30 或 31 天,這全視起始日期而定。如果開始日期是 1 月 1 日,此函數會計算 1 月 1 日和 2 月 1 日(排除 2 月 1 日)之間的毫秒數,其等於 2678400000 毫秒或 31 天。如果起始日期是 2009 年(閏年)2 月 1 日,函數會計算 2009 年 2 月 1 日至 3 月 1 日間的毫秒數,而等於 2505600000 毫秒或 29 天。
語法
參數
lexicalDuration
String。要取得其長度(毫秒)的期間。
startDate
Date 物件。代表起始日期。
傳回
Number 物件。指定期間中的毫秒數。
範例
下列範例顯示針對特定期間與起始日期所傳回的毫秒數:
這個函數會傳回給定期間中的年數值。
語法
參數
lexicalDuration
String。要從中取得年數值的期間。
傳回
Integer。一個代表指定期間中年數值的數字。
範例
下列範例顯示針對特定期間所傳回的年數值: