Share via


แสดงข้อความ วันที่ และเวลาในแอปพื้นที่ทำงาน

ใน Power Apps เพิ่มวันที่และเวลาให้กับแอปพื้นที่ทำงาน และจัดรูปแบบวันที่และเวลาให้แสดงรายละเอียดที่ถูกต้องหรือแสดงตำแหน่งที่ตั้งของคุณ คำนวณระยะเวลาระหว่างวันที่สองวัน หรือคำนวณวันที่ก่อนหรือหลังระยะเวลานับจากวันที่ที่คุณระบุ แปลงวันที่ไปหรือกลับจาก ค่าที่แยกเป็นวัน เดือน และปี และแปลงเวลาไปหรือกลับจาก ค่าที่แยกเป็นชั่วโมง นาที และวินาที

ตัวอย่างเช่น เพิ่มข้อมูลจากผู้ใช้เกี่ยวกับการซื้อขายหุ้น หรือการประชุมกับลูกค้า ข้อมูลจากแหล่งภายนอก หรือข้อมูลจากแอปอื่นที่สร้างขึ้นใน Power Apps ถ้าข้อมูลประกอบด้วยเวลาละเอียดระดับมิลลิวินาที ปัดขึ้นเป็นนาทีที่ใกล้ที่สุดเพื่อความง่าย คำนวณว่ายังเหลืออีกกี่วันก่อนจะถึงเหตุการณ์สำคัญ ถ้าคุณต้องการกำหนดเวลาประชุมลูกค้าทุก ๆ ห้าวัน คำนวณวันที่เหล่านั้นโดยอัตโนมัติ ถ้าวันที่ 10 พฤษภาคม 1985 ถูกเก็บไว้ในฟิลด์แยกต่างหากเป็นวัน เดือน และปี รวมค่าเหล่านั้นเป็นค่าเดียว ในทางกลับกัน แยกวันที่แบ่งออกเป็นค่าที่แยกต่างหาก ถ้าแอปของคุณจัดการรายการเหล่านั้นแยกจากกัน

ข้อกำหนดเบื้องต้น

แสดงข้อความในตัวควบคุมป้ายชื่อ

แสดงข้อความในตัวควบคุม ป้ายชื่อ โดยการตั้งค่าคุณสมบัติ ข้อความ ตั้งค่าคุณสมบัตินี้ โดยการพิมพ์ลงในตัวควบคุมโดยตรง หรือโดยการพิมพ์นิพจน์ในแถบสูตร

  • ถ้าคุณพิมพ์ลงในตัวควบคุมโดยตรง ตัวควบคุมจะแสดงตามสิ่งที่คุณพิมพ์
  • ถ้าคุณพิมพ์นิพจน์ลงในแถบสูตร ตัวควบคุมจะแสดงผลลัพธ์ของนิพจน์

นี่คือตัวอย่างบางส่วน

  1. เพิ่มตัวควบคุม ป้ายชื่อ ที่มีชื่อว่า ShowText แล้วตั้งค่าคุณสมบัติ ข้อความ เป็นสูตรนี้:
    Now()

    ถ้าคอมพิวเตอร์ของคุณถูกตั้งค่าตำแหน่งที่ตั้งเป็น "en-us" วันที่และเวลาปัจจุบันจะปรากฏในรูปแบบนี้:
    mm/dd/yyyy hh:mm AM/PM

    ถ้าคอมพิวเตอร์ของคุณถูกตั้งค่าตำแหน่งที่ตั้ง เช่น "fr-fr" วันที่และเวลาปัจจุบันจะปรากฏในรูปแบบนี้:
    dd/mm/yyyy hh:mm AM/PM

  2. ตั้งค่าคุณสมบัติ ข้อความ ของ ShowText ตามสูตรนี้:
    DateDiff(Today(), DateValue("01/01/2020"))

    ตัวควบคุมแสดงจำนวนวันระหว่างวันนี้และ 1 มกราคม 2020 โดยใช้ฟังก์ชันเหล่านี้:

    • DateDiff ซึ่งคำนวณจำนวนวัน ไตรมาส หรือปี ระหว่างวันที่สองวัน
    • Today ซึ่งคำนวณค่าวันที่ปัจจุบัน
    • DateValue ซึ่งแปลงสตริงสัญพจน์ ตามที่แสดงในเครื่องหมายอัญประกาศ ให้เป็นค่าที่สามารถคำนวณได้
  3. เพิ่มตัวควบคุม ป้อนข้อความ ที่ชื่อ BirthDate และย้ายไปไว้ใต้ ShowText

  4. ใน BirthDate พิมพ์เดือนและวันเกิดของคุณ (ตัวอย่างเช่น 05/18)

  5. ตั้งค่าคุณสมบัติ ข้อความ ของ ShowText ตามสูตรนี้:
    DateDiff(Today(), DateValue(BirthDate.Text))

    ShowText จะแสดงจำนวนวันระหว่างวันนี้และวันที่ที่คุณพิมพ์ลงใน BirthDate ถ้าวันเกิดของคุณได้ผ่านไปแล้วในปีนี้ ShowText จะแสดงเป็นค่าลบ

จัดรูปแบบวันที่และเวลาโดยใช้ DateTimeValue

แปลงวันที่และเวลาจากสตริงของข้อความให้เป็นค่า ซึ่งคุณสามารถจัดรูปแบบได้หลายรูปแบบ และใช้ในการคำนวณ ระบุรูปแบบ โดยใช้ตัวเลือกที่มีอยู่ภายใน และแบบกำหนดเอง

หมายเหตุ

ฟังก์ชัน DateTimeValue และ DateValue สามารถแปลงวันที่ในรูปแบบใด ๆ เหล่านี้ให้เป็นค่า:

  • MM/DD/YYYY
  • DD/MM/YYYY
  • DD Mon YYYY
  • Month DD, YYYY
  1. เพิ่มตัวควบคุม ป้อนข้อความ ที่ชื่อ ArrivalDateTime แล้วพิมพ์วันที่และเวลาในรูปแบบนี้:
    5/10/85 6:15 AM

  2. เพิ่มตัวควบคุม ป้ายชื่อ ที่ชื่อ ShowDate และตั้งค่าคุณสมบัติ ข้อความ เป็นสูตรนี้:
    DateTimeValue(ArrivalDateTime.Text)

    ShowDate แสดงข้อมูลเดียวกันกับที่คุณพิมพ์ แต่มีการแปลงจากข้อความเป็นค่า และจัดรูปแบบที่แตกต่างกัน ตัวอย่างเช่น ปีจะปรากฏเป็นเลขสี่หลัก แทนที่จะมีแค่สองหลัก

  3. เปลี่ยนคุณสมบัติ ข้อความ ของ ShowDate เป็นสูตรนี้:
    DateTimeValue(ArrivalDateTime.Text, "fr")

    ShowDate จะแสดงวันก่อนเดือน ตามที่ผู้ใช้ในฝรั่งเศสคาดหวัง

    เคล็ดลับ

    เพื่อแสดงรายการของตำแหน่งที่ตั้งอื่นใน Intellisense เอาเครื่องหมายอัญประกาศปิด และ fr ออกจากสูตร แต่ยังคงเครื่องหมายอัญประกาศเปิดเอาไว้:

  4. เพื่อแสดงโดยใช้หนึ่งในรูปแบบภายใน เปลี่ยนคุณสมบัติ ข้อความ ของ ShowDate ให้เป็นสูตรนี้:
    Text(DateTimeValue(ArrivalDateTime.Text), DateTimeFormat.LongDateTime)

    ShowDate จะแสดงวันของสัปดาห์ วันที่ และเวลา

    เคล็ดลับ

    พารามิเตอร์ DateTimeFormat สนับสนุนรูปแบบภายในอื่น ๆ มากมาย เพื่อแสดงรายการดังกล่าว เอา LongDateTime ออกจากสูตร

  5. ในการใช้รูปแบบกำหนดเอง เปลี่ยนคุณสมบัติ ข้อความ ของ ShowDate เป็นสูตรนี้:
    Text(DateTimeValue(ArrivalDateTime.Text), "mm/dd/yyyy hh:mm:ss.fff AM/PM")

    ShowDate จะแสดงค่าวันที่/เวลาในรูปแบบที่คุณระบุ รวมถึงหน่วยมิลลิวินาที

    เคล็ดลับ

    เพื่อปัดเศษเป็นหนึ่งในสิบ หรือหนึ่งในร้อยของวินาที ระบุ hh:mm:ss.f หรือ hh:mm:ss.ff ในสูตร

จัดรูปแบบวันที่โดยใช้ DateValue

  1. เพิ่มตัวควบคุม ป้อนข้อความ ที่ชื่อ ArrivalDate แล้ว พิมพ์วันที่ในตาราง (ตัวอย่างเช่น 5/10/85)

  2. เพิ่มตัวควบคุม ป้ายชื่อ ที่ชื่อ FormatDate และตั้งค่าคุณสมบัติ ข้อความ เป็นสูตรนี้:
    DateValue(ArrivalDate.Text)

    FormatDate จะแสดงวันที่คุณพิมพ์ ยกเว้นปีจะปรากฏเป็นเลขสี่หลัก

  3. ตั้งค่าคุณสมบัติ ข้อความ ของ FormatDate เป็นสูตรนี้:
    DateValue(ArrivalDate.Text, "fr")

    FormatDate จะแสดงวันก่อนเดือน เช่นเดียวกับที่ผู้ใช้ในฝรั่งเศสคาดหวัง

  4. ในการใช้หนึ่งในรูปแบบภายใน ตั้งค่าคุณสมบัติ ข้อความ ของ FormatDate เป็นสูตรนี้:
    Text(DateValue(Startdate.Text), DateTimeFormat.LongDate)

    FormatDate จะแสดงวันของสัปดาห์ เดือน วัน และปี

  5. ในการใช้รูปแบบกำหนดเอง ตั้งค่าคุณสมบัติ ข้อความ ของ FormatDate เป็นสูตรนี้:
    Text(DateValue(ArrivalDate.Text), "yy/mm/dd")

    FormatDate จะแสดงวันที่ในรูปแบบที่คุณระบุ

จัดรูปแบบเวลาโดยใช้ DateTimeValue

  1. เพิ่มตัวควบคุม ป้อนข้อความ ที่ชื่อ ArrivalTime แล้ว พิมพ์ 6:15 AM ลงไปข้างใน

  2. เพิ่มตัวควบคุม ป้ายชื่อ ที่ชื่อว่า ShowTime

  3. ในการใช้หนึ่งในรูปแบบภายใน ตั้งค่าคุณสมบัติ ข้อความ ของ ShowTime เป็นสูตรนี้:
    Text(DateTimeValue(ArrivalTime.Text), DateTimeFormat.LongTime)

    ShowTime จะแสดงเวลาที่คุณระบุ รวมถึงวินาที

  4. ในการใช้หนึ่งในรูปแบบภายใน ตั้งค่าคุณสมบัติ ข้อความ ของ ShowTime เป็นสูตรนี้:
    Text(DateTimeValue(ArrivalTime.Text), "hh:mm:ss.fff AM/PM")

    ShowTime จะแสดงเวลาที่คุณระบุ รวมถึงวินาทีและมิลลิวินาที

    เคล็ดลับ

    เพื่อปัดเป็นหนึ่งในสิบ หรือหนึ่งในร้อยวินาที ระบุ hh:mm:ss.f หรือ hh:mm:ss.ff ในสูตร

แสดงเวลาระหว่างวันที่

  1. เพิ่มตัวควบคุม ป้อนข้อความ สองตัว ที่ชื่อว่า Start และ End

  2. พิมพ์ 4/1/2015 ลงใน Start และพิมพ์ 1/1/2016 ลงใน End

  3. เพิ่มตัวควบคุม ป้ายชื่อ ที่ชื่อ DateDiff และตั้งค่าคุณสมบัติ ข้อความ เป็นสูตรนี้:
    DateDiff(DateValue(Start.Text), DateValue(End.Text))

    DateDiff จะแสดง 275 ซึ่งเป็นจำนวนวันระหว่าง วันที่ 1 เมษายน 2015 และวันที่ 1 มกราคม 2016

  4. ตั้งค่าคุณสมบัติ ข้อความ ของ DateDiff เป็นสูตรนี้:
    DateDiff(DateValue(Start.Text), DateValue(End.Text), Months)

    DateDiff จะแสดง 9 ซึ่งเป็นจำนวนเดือนระหว่าง วันที่ 1 เมษายน 2015 และวันที่ 1 มกราคม 2016 แทนที่ Months ด้วย Quarters หรือ Years เพื่อแสดงเวลาในหน่วยเหล่านั้น

ระบุวันที่ก่อนหรือหลังอีกวันที่

  1. เพิ่มตัวควบคุม ป้อนข้อความ ที่ชื่อว่า Start และพิมพ์ 5/10/1985 ลงไปข้างใน

  2. เพิ่มตัวควบคุม ป้ายชื่อ ตั้งชื่อว่า DateAdd แล้วตั้งค่าคุณสมบัติ ข้อความ เป็นสูตรนี้
    DateAdd(DateValue(Start.Text), 3)

    DateAdd จะแสดง 5/13/1985 ซึ่งอยู่ถัดไป 3 วันจากวันที่ใน Start

  3. ตั้งค่าคุณสมบัติ ข้อความ ของ DateAdd เป็นสูตรนี้:
    DateAdd(DateValue(Start.Text), -3)

    DateAdd จะแสดง 5/7/1985 ซึ่งก็คือ 3 วันก่อนวันที่ใน Start

  4. เปลี่ยนคุณสมบัติ ข้อความ ของ DateAdd เป็นสูตรนี้:
    DateAdd(DateValue(Start.Text), 3, Months)

    ป้ายชื่อจะแสดง 8/10/1985 ซึ่งก็คือสามเดือนหลังจากวันที่ใน Start แทนที่ Months ด้วย Quarters หรือ Years เพื่อระบุวันที่เป็นจำนวนไตรมาสหรือปี ก่อนหรือหลังจากวันที่ใน Start

คำนวณวันที่ตามปี เดือน และวัน

  1. เพิ่มตัวควบคุม ดรอปดาวน์ สามตัว ที่ชื่อว่า Year Month และ Day

  2. ตั้งค่าคุณสมบัติ รายการ ของ Year เป็นสูตรนี้:
    Table({Year:"2014"}, {Year:"2015"}, {Year:"2016"})

  3. ตั้งค่าคุณสมบัติ รายการ ของ Month เป็นสูตรนี้:
    Table({Month:"1"}, {Month:"2"}, {Month:"3"}, {Month:"4"}, {Month:"5"}, {Month:"6"}, {Month:"7"}, {Month:"8"}, {Month:"9"}, {Month:"10"}, {Month:"11"}, {Month:"12"})

  4. ตั้งค่าคุณสมบัติ รายการ ของ Day เป็นสูตรนี้:
    Table({Day:"1"}, {Day:"2"}, {Day:"3"}, {Day:"4"}, {Day:"5"}, {Day:"6"}, {Day:"7"}, {Day:"8"}, {Day:"9"}, {Day:"10"}, {Day:"11"}, {Day:"12"}, {Day:"13"}, {Day:"14"}, {Day:"15"}, {Day:"16"}, {Day:"17"}, {Day:"18"}, {Day:"19"}, {Day:"20"}, {Day:"21"}, {Day:"22"}, {Day:"23"}, {Day:"24"}, {Day:"25"}, {Day:"26"}, {Day:"27"}, {Day:"28"}, {Day:"29"}, {Day:"30"}, {Day:"31"})

  5. เพิ่มตัวควบคุม ป้ายชื่อ แล้วตั้งค่าคุณสมับติ ข้อความ เป็นสูตรนี้:
    Text(Date(Value(Year.SelectedText.Value), Value(Month.SelectedText.Value), Value(Day.SelectedText.Value)), DateTimeFormat.LongDate)

    Wednesday, January 1, 2014 จะแสดงอยู่ตามค่าเริ่มต้น เลือกค่าที่ต่างออกไปใน ดรอปดาวน์ ตัวควบคุมเพื่อเปลี่ยนวันที่ในตัวควบคุม ป้ายชื่อ

คุณอาจจำเป็นต้องแปลงข้อมูลที่คุณไม่ได้คาดหวัง ถ้าคุณเพิ่มตัวควบคุม ป้อนข้อความ แทนที่จะเป็นตัวควบคุม**ดรอปดาวน์** ผู้ใช้อาจใส่วันไม่ถูกต้อง เช่น 45 พฤษภาคม ได้ ฟังก์ชัน Date จัดการข้อมูลพิเศษด้วยวิธีต่อไปนี้:

  • ถ้าปีมีค่าตั้งแต่ 0 ถึง 1899 (รวมค่านี้ด้วย) แล้ว ฟังก์ชันจะบวกค่านั้นกับ 1900 เพื่อคำนวนหาปี
  • ถ้าปีมีค่าตั้งแต่ 1900 ถึง 9999 (รวมค่านี้ด้วย) ฟังก์ชันจะใช้ค่านั้นเป็นปี
  • ถ้าปีมีค่าน้อยกว่า 0 หรือ เท่ากับหรือมากกว่า 10000 ฟังก์ชันจะคืนค่าความผิดพลาด
  • ถ้าเดือนมีค่ามากกว่า 12 ฟังก์ชันจะบวกจำนวนเดือนนั้น กับเดือนแรกของปีที่ระบุ
  • ถ้าเดือนมีค่าน้อยกว่า 1 ฟังก์ชันจะลบจำนวนเดือน บวก 1 จากเดือนแรกของปีที่ระบุ
  • ถ้าวันมีค่ามากกว่าจำนวนวันในเดือนที่ระบุไว้ ฟังก์ชันจะบวกจำนวนวันกับวันแรกของเดือน และส่งกลับวันที่สอดคล้องกันจากเดือนถัดไป
  • ถ้าวันมีค่าน้อยกว่า 1 ฟังก์ชันจะลบจำนวนวันบวก 1 จากวันแรกของเดือนที่ระบุ

คำนวณเวลาจากชั่วโมง นาที และวินาที

  1. เพิ่มรายการ ดรอปดาวน์ สองรายการ ที่ชื่อว่า Hour และ Minute

  2. ตั้งค่าคุณสมบัติ รายการ ของ Hour ด้วยสูตรนี้:
    Table({Hour:"9"}, {Hour:"10"}, {Hour:"11"}, {Hour:"12"}, {Hour:"13"}, {Hour:"14"}, {Hour:"15"}, {Hour:"16"}, {Hour:"17"})

  3. ตั้งค่าคุณสมบัติ รายการ ของ Minute ด้วยสูตรนี้:
    Table({Minute:"0"}, {Minute:"15"}, {Minute:"30"}, {Minute:"45"})

  4. เพิ่มตัวควบคุม ป้ายชื่อ แล้วตั้งค่าคุณสมับติ ข้อความ เป็นสูตรนี้:

    Text(Time(Value(Hour.SelectedText.Value), Value(Minute.SelectedText.Value),0), DateTimeFormat.ShortTime)

  5. เลือก 15 ใน Hour และ 45 ใน Minute

    ตัวควบคุม ป้ายชื่อ จะแสดง 3:45 PM

    คุณสามารถเพิ่มรายการใน Hour และ Minute เพื่อให้ผู้ใช้สามารถเลือกจากช่วงชั่วโมงที่กว้างขึ้น และเพิ่มความแม่นยำของนาทีได้ คุณยังสามารถเพิ่มตัวควบคุม ดรอปดาวน์ ตัวที่สาม เพื่อให้ผู้ใช้สามารถระบุวินาทีได้ ถ้าคุณเพิ่มรายการที่สาม ตั้งค่าคุณสมบัติ ข้อความ ของตัวควบคุม ป้ายชื่อ ด้วยนิพจน์ต่อไปนี้:
    Text(Time(Value(Hour.Selected.Value), Value(Minute.Selected.Value), Value(Second.Selected.Value)), DateTimeFormat.LongTime)

ดูเพิ่มเติม

ตัวอย่างของตัวควบคุมตัวเลือกวันที่

หมายเหตุ

บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)

แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)