Duration.Days ดึงจำนวนวันจากค่า Duration ซึ่งมีประโยชน์เมื่อต้องการแยกส่วนวันออกจากระยะเวลาที่คำนวณได้ เช่นความต่างระหว่างสองวันที่
=Duration.Days(duration as duration) as nullable number
=Duration.Days(duration as duration) as nullable number
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| duration | duration | Yes | ค่า Duration ที่ต้องการดึงจำนวนวัน สามารถสร้างจาก #duration() หรือจากการลบวันที่ |
ดึงจำนวนวันจากระยะเวลาลาพักร้อนที่คำนวณได้
แยก Duration ออกเป็นส่วนวัน ชั่วโมง นาที เพื่อแสดงผลอ่านง่ายขึ้น
Duration.Days(#duration(10, 6, 30, 0))=Duration.Days(#duration(10, 6, 30, 0))
10
Duration.Days(#date(2025, 12, 31) - #date(2025, 12, 20))=Duration.Days(#date(2025, 12, 31) - #date(2025, 12, 20))
11
let StartDate = #date(2025, 1, 1), EndDate = #date(2025, 1, 8), WorkDuration = EndDate - StartDate, Days = Duration.Days(WorkDuration) in Dayslet
StartDate = #date(2025, 1, 1),
EndDate = #date(2025, 1, 8),
WorkDuration = EndDate - StartDate,
Days = Duration.Days(WorkDuration)
in
Days
7
Duration.Days(#duration(3, 12, 45, 30))=Duration.Days(#duration(3, 12, 45, 30))
3
ผมชอบใช้ Duration.Days เมื่อต้องการส่วนวันเท่านั้น เช่น Duration มี 10 วัน 6 ชั่วโมง Duration.Days ให้ 10 แต่ Duration.TotalDays ให้ 10.25 (วันทั้งหมดรวมทศนิยม)
ได้ครับ ทั้ง input และ output เป็น nullable ถ้า input เป็น null ผลลัพธ์ก็จะเป็น null ส่วนตัวผมมักใช้กับ Coalesce() หรือถ้า…แล้ว เพื่อจัดการกรณี null
ผมเห็นมันเป็นเครื่องมือแยกส่วน Duration.Days ดึงวัน Duration.Hours ดึงชั่วโมง Duration.Minutes ดึงนาที Duration.Seconds ดึงวินาที จากค่า Duration เดียวกัน ใช้ตามสิ่งที่เราต้องการแสดง
ฟังก์ชัน Duration.Days ใช้สำหรับแยกจำนวนวันจากค่า Duration ที่สร้างขึ้นเอง หรือจากการลบวันที่ซึ่งจะให้ผลเป็นค่า Duration โดยจะคืนค่าจำนวนวัน (ส่วนวันเท่านั้น) ไม่ใช่จำนวนวันรวมทั้งหมด ถ้า Duration มีชั่วโมง นาที หรือวินาทีด้วยก็จะถูกละเว้นในผลลัพธ์
ที่เจ๋งคือ ฟังก์ชันนี้ใช้ได้กับ null values และจะคืนค่า null ถ้าค่า input เป็น null นอกจากนี้ยังมีเพื่อนฟังก์ชัน Duration.Hours Duration.Minutes Duration.Seconds และ Duration.TotalDays ที่ช่วยให้สามารถแยกหรือรวมส่วนต่างๆ ของ Duration ได้อย่างชาญฉลาด
ส่วนตัวผม มักใช้ Duration.Days เมื่อต้องการรายงานว่างานหรือโปรเจคใช้เวลากี่วัน ไม่สนใจชั่วโมงย่อย เพราะในชีวิตจริงมักสำคัญแค่วันเท่านั้น 😎