ก่อนหน้า ถัดไป

คลาส BirtDuration

คลาส BirtDuration จัดเตรียมฟังก์เพื่อขอรับส่วนของระยะเวลา, หรือช่วงเวลา, ที่ใช้ในเอกสาร XML ช่วงเวลาถูกระบุไว้ในรูปแบบต่อไปนี้:

PnYnMnDTnHnMnS

โดยที่:

*
*
nY ระบุจำนวนปี
*
nM ระบุตัวเลขเดือน
*
nD ระบุจำนวนวัน
*
*
nH ระบุจำนวนชั่วโมง
*
nM ระบุจำนวนนาที
*
nS ระบุจำนวนวินาที

ตัวอย่างเช่น, ค่าต่อไปนี้บ่งชี้ช่วงเวลา 2 ปี, 3 เดือน, และ 5 วัน:

P2Y3M5D

ค่าต่อไปนี้จะระบุช่วงเวลา 10 ชั่วโมง:

PT10H

คลาส BirtDuration เป็นแบบสแตติก แอ็พพลิเคชันไม่สามารถสร้างอินสแตนซ์ของคลาส

BirtDuration.add

ฟังก์ชันนี้จะบวกช่วงเวลาสองช่วงเข้าด้วยกัน และส่งคืนผลรวม

ไวยากรณ์

string BirtDuration.add(string lexicalDuration1, string lexicalDuration2)

พารามิเตอร์

lexicalDuration1

String ช่วงเวลาแรกที่ต้องการบวก

lexicalDuration2

String ช่วงเวลาที่สองที่ต้องการบวก

คืนค่า

String ผลรวมของช่วงเวลาอินพุตสองช่วง

ตัวอย่าง

ตัวอย่างต่อไปนี้จะบวกช่วงเวลาสองช่วง:

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

BirtDuration.addTo

ฟังก์ชันนี้จะบวกช่วงเวลาเข้ากับอ็อบเจ็กต์ Date ที่ระบุ

ไวยากรณ์

Date BirtDuration.add(string lexicalDuration, Date date)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่ต้องการบวก

date

อ็อบเจ็กต์ Date วันที่และเวลาที่ต้องการแก้ไข

คืนค่า

อ็อบเจ็กต์ Date วันข้างหน้าตามช่วงเวลา

ตัวอย่าง

ตัวอย่างต่อไปนี้จะบวกหนึ่งปีเข้ากับวันที่และเวลาของวันนี้:

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

BirtDuration.compare

ฟังก์ชันนี้ทดสอบว่ามีช่วงเวลาเดียวกัน, มากกว่า, หรือน้อยกว่าช่วงเวลาอื่น

ไวยากรณ์

integer BirtDuration.compare(string lexicalDuration1, string lexicalDuration2)

พารามิเตอร์

lexicalDuration1

String ช่วงเวลาแรกที่ใช้ในการเปรียบเทียบ

lexicalDuration2

String ช่วงเวลาที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

Integer ความสัมพันธ์ลำดับบางส่วนระหว่างช่วงเวลาสองช่วง ส่งคืนค่า 1 ถ้าช่วงเวลาแรกมากกว่า, 0 ถ้ามีค่าเท่ากัน และ -1 ถ้าช่วงระยะเวลาที่สองมากกว่า

ตัวอย่าง

นิพจน์ต่อไปนี้จะเปรียบเทียบความยาวของช่วงเวลาที่ระบุ:

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

BirtDuration.day

ฟังก์ชันนี้คืนค่าวันสำหรับช่วงเวลาที่ระบุ

ไวยากรณ์

integer BirtDuration.day( string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่รับค่าวัน

คืนค่า

จำนวนเต็มที่แทนค่าวันของช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงค่าวันที่คืนค่ามาสำหรับช่งเวลาที่ระบุ:

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

BirtDuration.getSign

ฟังก์ชันนี้จะส่งคืนเครื่องหมายของช่วงเวลา

ไวยากรณ์

integer BirtDuration.getSign(string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่ต้องการวิเคราะห์

คืนค่า

Integer เครื่องหมายของช่วงเวลาเป็นผลคูณ ส่งคืน 1 สำหรับช่วงเวลาที่เป็นค่าบวก, -1 สำหรับช่วงเวลาที่เป็นค่าลบ, และ 0 สำหรับ null หรือ 0

ตัวอย่าง

นิพจน์ต่อไปนี้จะวิเคราะห์เครื่องหมายของช่วงเวลาเฉพาะ:

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

BirtDuration.hour

ฟังก์ชันนี้จะคืนค่าชั่วโมงสำหรับช่วงเวลาที่ระบุ

ไวยากรณ์

integer BirtDuration.hour( string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่รับค่าชั่วโมง

คืนค่า

จำนวนเต็มที่แทนค่าชั่วโมงของช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงค่าชั่วโมงที่แทนค่ามาสำหรับช่วงเวลาที่ระบุ:

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

BirtDuration.isLongerThan

ฟังก์ชันนี้จะทดสอบว่าช่วงเวลายาวกว่าช่วงเวลาอื่นหรือไม่ บางครั้ง ความสัมพันธ์ของลำดับระหว่างช่วงเวลาไม่สามารถกำหนดได้, ตัวอย่างเช่น, หนึ่งเดือน (P1M) และ 30 วัน (P30D), หรือหนึ่งปี (P1Y) และ 365 วัน (P365D) ในกรณี เช่น เหล่านี้, ฟังก์ชันส่งคืน false

ไวยากรณ์

boolean BirtDuration.isLongerThan( string lexicalDuration1, string lexicalDuration2 )

พารามิเตอร์

lexicalDuration1

String ช่วงเวลาแรกที่ใช้ในการเปรียบเทียบ

lexicalDuration2

String ช่วงเวลาที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

Boolean เป็น true หากช่วงเวลาแรกยาวนานกว่าช่วงเวลาที่สอง; ส่งคืนค่า false หากเป็นค่าอื่น

ตัวอย่าง

นิพจน์ต่อไปนี้จะเปรียบเทียบความยาวของช่วงเวลาที่ระบุ:

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

BirtDuration.isShorterThan

ฟังก์ชันนี้จะทดสอบว่าช่วงเวลาสั้นกว่าช่วงเวลาอื่นหรือไม่ บางครั้ง ความสัมพันธ์ของลำดับระหว่างช่วงเวลาไม่สามารถกำหนดได้, ตัวอย่างเช่น, หนึ่งเดือน (P1M) และ 30 วัน (P30D), หรือหนึ่งปี (P1Y) และ 365 วัน (P365D) ในกรณี เช่น เหล่านี้, ฟังก์ชันส่งคืน false

ไวยากรณ์

boolean BirtDuration.isShorterThan( string lexicalDuration1, string lexicalDuration2 )

พารามิเตอร์

lexicalDuration1

String ช่วงเวลาแรกที่ใช้ในการเปรียบเทียบ

lexicalDuration2

String ช่วงเวลาที่สองที่ใช้ในการเปรียบเทียบ

คืนค่า

Boolean เป็น true หากในช่วงเวลาแรกสั้นกว่าช่วงเวลาที่สอง; ส่งคืนค่า false หากเป็นค่าอื่น

ตัวอย่าง

นิพจน์ต่อไปนี้จะเปรียบเทียบความยาวของช่วงเวลาที่ระบุ:

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

BirtDuration.minute

ฟังก์ชันนี้จะคืนค่านาทีของช่วงเวลาที่ให้

ไวยากรณ์

integer BirtDuration.minute(string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่รับค่านาที

คืนค่า

Integer จำนวนที่แทนค่านาทีของช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงค่านาทีที่ได้รับคืนมาสำหรับช่วงเวลาที่ระบุ:

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

BirtDuration.month

ฟังก์ชันนี้จะคืนค่าเดือนสำหรับช่วงเวลาที่ระบุ

ไวยากรณ์

integer BirtDuration.month(string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่รับค่าเดือน

คืนค่า

Integer จำนวนที่แทนค่าเดือนของช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้จะแสดงค่าเดือนที่คืนค่ามาสำหรับช่วงเวลาที่ระบุ:

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

BirtDuration.multiply

ฟังก์ชันนี้จะส่งคืนผลคูณของช่วงเวลาและจำนวนปกติ

ไวยากรณ์

string BirtDuration.multiply(string lexicalDuration, integer factor)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่ต้องการคูณ

factor

Integer จำนวนปกติที่ต้องการคูณ

คืนค่า

String ผลคูณของช่วงเวลาอินพุตและ factor

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงผลิตภัณฑ์ที่ส่งคืนสำหรับช่วงเวลาและแฟคเตอร์ที่ระบุเฉพาะ:

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

BirtDuration.negate

ฟังก์ชันนี้ส่งคืนค่าลบของช่วงเวลา

ไวยากรณ์

string BirtDuration.negate(string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่ต้องการค่าลบ

คืนค่า

String ค่าลบของช่วงเวลาอินพุต

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงผลลัพธ์ที่เป็นค่าลบจากช่วงเวลาเฉพาะ:

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

BirtDuration.second

ฟังก์ชันนี้จะคืนค่าวินาทีสำหรับช่วงเวลาที่ระบุ

ไวยากรณ์

integer BirtDuration.second(string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่รับค่าวินาที

คืนค่า

Integer จำนวนที่แทนค่าวินาทีของช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้จะแสดงค่าวินาทีที่คืนค่ามาสำหรับช่วงเวลาที่ระบุ:

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

BirtDuration.subtract

ฟังก์ชันนี้จะลบช่วงเวลาจากช่วงเวลาอื่น

ไวยากรณ์

string BirtDuration.subtract(string lexicalDuration1, string lexicalDuration2)

พารามิเตอร์

lexicalDuration1

String ช่วงเวลาที่ต้องการลบออก

lexicalDuration2

String ช่วงเวลาที่ถูกลบออกจาก lexicalDuration1

คืนค่า

String ความแตกต่างของช่วงเวลาอินพุตสองช่วง

ตัวอย่าง

ตัวอย่างนี้จะลบช่วงเวลาสองช่วง:

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

BirtDuration.timeInMills

ฟังก์ชันนี้ส่งคืนจำนวนมิลลิวินาทีในช่วงเวลาที่กำหนด, จากวันที่เริ่มต้นที่ระบุไว้ ตัวเลขของมิลลิวินาทีในช่วงเวลาสามารถเปลี่ยนตามวันที่เริ่มต้น ตัวอย่างเช่น ช่วงเวลาของหนึ่งเดือน สามารถเป็น 28, 29, 30 หรือ 31 วัน ขึ้นอยู่กับวันที่เริ่มต้น ถ้าวันที่เริ่มต้นคือ 1 มกราคม ฟังก์ชันคำนวณค่ามิลลิวินาทีตั้งค่า 1 มกราคมถึง 1กุมภาพันธ์ (ไม่รวม 1 กุมภาพันธ์) ซึ่งเท่ากับ 2678400000 มิลลิวินาทีหรือ 31 วัน ถ้าวันที่เริ่มต้นคือ กุมภาพันธ์ 1, 2009 (ปีอธิสุรทิน), ฟังก์ชันคำนวณมิลลิวินาทีระหว่างกุมภาพันธ์ 1 และมีนาคม 1, ซึ่งเท่ากับ 2505600000 มิลลิวินาที หรือ 29 วัน

ไวยากรณ์

Number BirtDuration.timeInMills( string lexicalDuration, Date startDate )

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่ต้องการช่วงเวลาเป็นวินาที

startDate

อ็อบเจ็กต์ Date แทนวันที่เริ่มต้น

คืนค่า

อ็อบเจ็กต์ Number จำนวนมิลลิวินาทีในช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงจำนวนของมิลลิวินาทีที่ส่งคืนช่วงเวลาที่ระบุเฉพาะและวันที่เริ่มต้น:

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

BirtDuration.year

ฟังก์ชันนี้จะคืนค่าปีของช่วงเวลาที่กำหนด

ไวยากรณ์

integer BirtDuration.year(string lexicalDuration)

พารามิเตอร์

lexicalDuration

String ช่วงเวลาที่ต้องการรับค่าปี

คืนค่า

Integer จำนวนที่แทนค่าปีของช่วงเวลาที่ระบุ

ตัวอย่าง

ตัวอย่างต่อไปนี้จะแสดงค่าปีที่คืนค่ามาสำหรับช่วงเวลาที่ระบุ:

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

(c) ลิขสิทธิ์ Actuate Corporation 2013