ลักษณะการทำงานและรูปแบบของคอลัมน์วันที่และเวลา
ใน Microsoft Dataverse คุณสามารถระบุวิธีแสดงค่าวันที่และเวลาแก่ผู้ใช้ และวิธีปรับเปลี่ยนค่าตามโซนเวลา
มีสองตัวเลือกสำหรับคอลัมน์วันที่และเวลา
- ลักษณะการทำงาน: ปรับค่าสำหรับโซนเวลาหรือไม่
- รูปแบบ: แสดงส่วนเวลาของค่าหรือไม่
พฤติกรรม
Dataverse เก็บค่าวันที่และเวลาทั้งหมดในโซนเวลา UTC เมื่อแอปของคุณแสดงค่าหรือค่าที่ประมวลผลที่ผู้ใช้ป้อน Dataverse และแอปแบบจำลองสามารถปรับตามโซนเวลาของผู้ใช้ได้ด้วยตัวเลือก ลักษณะการทำงาน ต่อไปนี้
- เวลาท้องถิ่นของผู้ใช้: ปรับเวลาสำหรับโซนเวลาของผู้ใช้ นี่คือลักษณะการทำงานเริ่มต้น คุณสามารถ เปลี่ยนลักษณะการทำงานนี้เป็นแบบอื่น ได้
- ไม่ผูกกับโซนเวลา: ไม่มีการแปลงโซนเวลา
- เฉพาะวันที่: ไม่มีการแปลงโซนเวลา ไม่เหมือน ไม่ผูกกับโซนเวลา ส่วนเวลาจะไม่ถูกจัดเก็บไว้
โซนเวลาของผู้ใช้ถูกตั้งค่าใน ตัวเลือกส่วนบุคคล ไม่ใช่โซนเวลาของระบบใน Windows, Android, iOS หรือ macOS อย่างไรก็ตาม โซนเวลาของระบบอาจส่งผลต่อสคริปต์ไคลเอ็นต์ที่ทำงานกับวันที่ของ JavaScript
รูปแบบ
คอลัมน์วันที่และเวลาทั้งหมดมีส่วนของเวลา เว้นแต่ลักษณะการทำงานจะเป็น เฉพาะวันที่ รูปแบบ: กำหนดว่าแสดงส่วนเวลาของค่าหรือไม่
- วันที่และเวลา: แสดงวันที่และเวลาของค่า
- เฉพาะวันที่: แสดงส่วนวันที่ของค่าเท่านั้น
หมายเหตุ
ผู้ใช้ยังคงสามารถเปลี่ยนส่วนเวลาได้หาก รูปแบบ เป็น เฉพาะวันที่ ตัวอย่างเช่น ด้วยการเรียก Web API หรือโดยใช้ตัวควบคุมที่มีส่วนของเวลา ซึ่งแตกต่างไปจาก ลักษณะการทำงาน เฉพาะวันที่ โดยส่วนของเวลาไม่ได้ถูกจัดเก็บไว้เลย
แนวทางการใช้งาน
ใช้ลักษณะการทำงาน ไม่ผูกกับโซนเวลา เมื่อข้อมูลโซนเวลาไม่จำเป็น เช่น เวลาในการเช็คอินของโรงแรม ด้วยการเลือกนี้ ผู้ใช้ในโซนเวลาทั้งหมดจะเห็นค่าวันที่และเวลาเหมือนกัน
ใช้ลักษณะการทำงาน เฉพาะวันที่ เมื่อข้อมูลเกี่ยวกับเวลาของวันและเขตเวลาไม่จำเป็น เช่น วันเกิด หรือวันครบรอบ ด้วยการเลือกนี้ ผู้ใช้ในโซนเวลาทั้งหมดจะเห็นค่าวันที่เหมือนกันทุกประการ
ลักษณะการทำงาน ไม่ผูกกับโซนเวลา ที่มีรูปแบบ เฉพาะวันที่ เกือบจะเหมือนกับลักษณะการทำงาน เฉพาะวันที่ ใช้อันแรกหากคุณไม่แน่ใจว่าคุณต้องการส่วนเวลาในอนาคตหรือไม่
ข้อสำคัญ
หลีกเลี่ยงรูปแบบ วันที่เท่านั้น ที่มีพฤติกรรม ภายในเครื่อง ของผู้ใช้ ผู้ใช้ในเขตเวลาที่ต่างกันอาจเห็นวันที่ที่แตกต่างกัน ซึ่งไม่ได้มีไว้สำหรับสถานการณ์ส่วนใหญ่ เมื่อผู้ใช้ตั้งค่าวันที่ในแอปที่เป็นแบบโมเดล ส่วนเวลาจะถูกตั้งค่าเป็นเที่ยงคืนของโซนเวลาโดยอัตโนมัติ ซึ่งอาจทำให้วันที่ปรากฏหนึ่งวันก่อนหน้าหรือหลังจากนั้นสำหรับผู้ใช้รายอื่น
ตัวอย่าง
แสดงค่า
Dataverse จัดเก็บ 2023-10-15T07:30:00Z
(หรือ 2023-10-15
สำหรับลักษณะการทำงาน เฉพาะวันที่) ผู้ใช้ในเขตเวลา UTC-8 จะเห็นสิ่งเหล่านี้ในแอปที่ใช้โมเดลหรือด้วย คำขอ Web API สำหรับค่าที่จัดรูปแบบ:
พฤติกรรม | รูปแบบ | แสดงค่า |
---|---|---|
เวลาท้องถิ่นของผู้ใช้ | วันที่และเวลา | วันที่ 14 ตุลาคม 2023 เวลา 23:30 น |
เวลาท้องถิ่นของผู้ใช้ | เฉพาะวันที่ | วันที่ 14 ตุลาคม 2023 |
ไม่ผูกกับโซนเวลา | วันที่และเวลา | วันที่ 15 ตุลาคม 2023 เวลา 07:30 น |
ไม่ผูกกับโซนเวลา | เฉพาะวันที่ | วันที่ 15 ตุลาคม 2023 |
เฉพาะวันที่ | - | วันที่ 15 ตุลาคม 2023 |
ป้อนค่าในแอป
ผู้ใช้ในโซนเวลา UTC-8 ป้อน October 14th, 2023, 11:30 pm
ในแอปแบบจำลอง ค่าจะถูกบันทึกใน Dataverse เป็น:
พฤติกรรม | รูปแบบ | ค่าที่บันทึกใน Dataverse |
---|---|---|
เวลาท้องถิ่นของผู้ใช้ | วันที่และเวลา | 2023-10-15T07:30:00Z |
เวลาท้องถิ่นของผู้ใช้ | เฉพาะวันที่ | 2023-10-15T07:30:00Z |
ไม่ผูกกับโซนเวลา | วันที่และเวลา | 2023-10-14T23:30:00Z |
ไม่ผูกกับโซนเวลา | เฉพาะวันที่ | 2023-10-14T23:30:00Z |
เฉพาะวันที่ | - | 2023-10-14 |
หากผู้ใช้ป้อนเพียงวันที่ October 14th, 2023
ส่วนเวลาจะถือว่าเป็น 00:00 น.
พฤติกรรม | รูปแบบ | ค่าที่บันทึกใน Dataverse |
---|---|---|
เวลาท้องถิ่นของผู้ใช้ | เฉพาะวันที่ | 2023-10-14T08:00:00Z |
ไม่ผูกกับโซนเวลา | เฉพาะวันที่ | 2023-10-14T00:00:00Z |
เฉพาะวันที่ | - | 2023-10-14 |
ป้อนค่าที่ไม่ถูกต้องในแอป
ไคลเอนต์ที่แตกต่างกันมีวิธีจัดการกับอินพุตที่ไม่ถูกต้องแตกต่างกัน ตัวอย่างเช่น ในโซนเวลาแปซิฟิก การปรับเวลาตามฤดูกาลเริ่มวันที่ 12 มีนาคม 2023 เวลา 02:00 น. โดยเลื่อนเวลาไปข้างหน้าหนึ่งชั่วโมงเป็น 03:00 น. ไม่มีเวลาระหว่าง 02:00 น. ถึง 03:00 น. ของวันนั้น เมื่อผู้ใช้พยายามป้อนค่าในช่วงเวลานั้น แอปอาจดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้:
- เปลี่ยนเป็นเวลาที่ถูกต้องก่อนหน้าหรือถัดไป
- เปลี่ยนกลับเป็นค่าที่ทราบล่าสุด
- แสดงข้อความแสดงข้อผิดพลาด
- ไม่แสดงเวลาระหว่าง 2:00 น. ถึง 3:00 น. ในตัวเลือกเวลา เพื่อให้ผู้ใช้ไม่สามารถเลือกได้ตั้งแต่แรก
ในทำนองเดียวกัน แต่ละไคลเอนต์จะมีวิธีจัดการกับช่วงเวลาที่ซ้ำกันแตกต่างกัน ตัวอย่างเช่น ในโซนเวลาแปซิฟิก การปรับเวลาตามฤดูกาลสิ้นสุดวันที่ 5 พฤศจิกายน 2023 เวลา 02:00 น. โดยเลื่อนเวลาถอยหลังหนึ่งชั่วโมงเป็น 01:00 น. เวลาระหว่าง 01:00 น. ถึง 02:00 น. ของวันนั้นเกิดขึ้นซ้ำสองครั้ง เวลาเช่น 01:30 น. อาจหมายถึงโซนเวลาใดก็ได้ หากคุณต้องการแสดงหรือป้อนเวลาในช่วงดังกล่าวอย่างชัดเจน วิธีที่ดีที่สุดคือเปลี่ยนไปใช้โซนเวลาที่ไม่ใช้การปรับเวลาตามฤดูกาลชั่วคราว
รับค่าดิบด้วย Web API
Dataverse จัดเก็บ 2023-10-15T07:30:00Z
(หรือ 2023-10-15
สำหรับลักษณะการทำงาน เฉพาะวันที่) ผู้ใช้ในทุกโซนเวลาจะได้รับสิ่งเหล่านี้ด้วยคำขอ Web API สำหรับค่า:
พฤติกรรม | รูปแบบ | ค่าดิบ |
---|---|---|
เวลาท้องถิ่นของผู้ใช้ | วันที่และเวลา | 2023-10-15T07:30:00Z |
เวลาท้องถิ่นของผู้ใช้ | เฉพาะวันที่ | 2023-10-15T07:30:00Z |
ไม่ผูกกับโซนเวลา | วันที่และเวลา | 2023-10-15T07:30:00Z |
ไม่ผูกกับโซนเวลา | เฉพาะวันที่ | 2023-10-15T07:30:00Z |
เฉพาะวันที่ | - | 2023-10-15 |
รับค่าด้วย Client API
ผู้ใช้ในโซนเวลา UTC-8 ป้อน October 14th, 2023, 11:30 pm
ในแอปแบบจำลอง ฟังก์ชัน Client API เช่น formContext.getAttribute(<column name>).getValue()
ส่งคืนค่าพร้อมกับการปรับโซนเวลา:
พฤติกรรม | รูปแบบ | JavaScript dateValue.toUTCString() |
---|---|---|
เวลาท้องถิ่นของผู้ใช้ | วันที่และเวลา | 2023-10-15 07:30 (UTC) |
เวลาท้องถิ่นของผู้ใช้ | เฉพาะวันที่ | 2023-10-15 07:30 (UTC) |
สำหรับลักษณะการทำงาน ไม่ผูกกับโซนเวลา ค่าวันที่ของ JavaScript จะอยู่ในโซนเวลาของเบราว์เซอร์:
พฤติกรรม | รูปแบบ | JavaScript dateValue.toString() |
---|---|---|
ไม่ผูกกับโซนเวลา | วันที่และเวลา | 2023-10-14 23:30 (โซนเวลาของเบราว์เซอร์) |
ไม่ผูกกับโซนเวลา | เฉพาะวันที่ | 2023-10-14 23:30 (โซนเวลาของเบราว์เซอร์) |
ค่าวันที่ของ JavaScript มีส่วนประกอบเวลาเสมอ นั่นเป็นสาเหตุที่ลักษณะการทำงาน เฉพาะวันที่ มีส่วนประกอบเวลา 00:00 น.:
พฤติกรรม | รูปแบบ | JavaScript dateValue.toString() |
---|---|---|
เฉพาะวันที่ | - | 2023-10-15 00:00 (โซนเวลาของเบราว์เซอร์) |
หมายเหตุ
ค่าวันที่ของ JavaScript ได้รับผลกระทบจากโซนเวลาของเบราว์เซอร์ ซึ่งมาจากการตั้งค่าระบบปฏิบัติการของอุปกรณ์
สำหรับลักษณะการทำงาน เวลาท้องถิ่นของผู้ใช้ ผลลัพธ์ของ Client API ควรตีความว่าเป็นค่า UTC ใช้ Date.getUTCDate()
, Date.getUTCHours()
ฯลฯ เพื่อทำงานด้วย หากต้องการได้รับสิ่งที่ผู้ใช้เห็น ให้ใช้ getTimeZoneOffsetMinutes อย่าใช้ Date.getDate()
, Date.getHours()
ฯลฯ เนื่องจากรายการเหล่านี้จะแสดงค่าในโซนเวลาของเบราว์เซอร์
สำหรับลักษณะการทำงาน ไม่ผูกกับโซนเวลา และ เฉพาะวันที่ ผลลัพธ์ Client API ควรตีความว่าเป็นค่าในโซนเวลาของเบราว์เซอร์ ใช้ Date.getDate()
, Date.getHours()
ฯลฯ เพื่อทำงานด้วย อย่าใช้ Date.getUTCDate()
, Date.getUTCHours()
และอื่นๆ เนื่องจากคุณไม่จำเป็นต้องปรับเปลี่ยนโซนเวลาใดๆ
เปลี่ยนลักษณะการทำงานเวลาท้องถิ่นของผู้ใช้
เว้นแต่ว่าผู้เผยแพร่ของโซลูชันที่มีการจัดการป้องกันรายการนี้ คุณสามารถเปลี่ยนลักษณะการทำงานของคอลัมน์วันที่แบบกำหนดเองที่มีอยู่จาก เวลาท้องถิ่นของผู้ใช้ เป็น เฉพาะวันที่ หรือ ไม่ผูกกับโซนเวลา ได้ นี่คือการเปลี่ยนแปลงครั้งเดียว
การเปลี่ยนแปลงลักษณะการทำงานของคอลัมน์มีผลต่อค่าของคอลัมน์ที่จะเพิ่ม หรือปรับเปลี่ยนหลังจากที่มีการเปลี่ยนแปลงลักษณะการทำงานของคอลัมน์ ค่าคอลัมน์ที่มีอยู่ยังคงอยู่ในฐานข้อมูลในรูปแบบโซนเวลา UTC หากต้องการเปลี่ยนลักษณะการทำงานของค่าคอลัมน์ที่มีอยู่จาก UTC เป็น เฉพาะวันที่ คุณอาจต้องได้รับความช่วยเหลือจากนักพัฒนาเพื่อ แปลงลักษณะการทำงานของค่าวันที่และเวลาที่มีอยู่ในฐานข้อมูล
คำเตือน
ก่อนการเปลี่ยนแของคอลัมน์วันที่และเวลาที่มีอยู่ คุณควรตรวจทานการขึ้นต่อกันทั้งหมดของคอลัมน์เช่น กฎธุรกิจ เวิร์กโฟลว์ และฟิลด์ที่มีการคำนวณ หรือคอลัมน์ค่าสะสม เพื่อให้แน่ใจว่าไม่มีปัญหาเนื่องจากการเปลี่ยนแปลงลักษณะการทำงาน หลังจากการเปลี่ยนแปลงลักษณะการทำงานของคอลัมน์วันและเวลา ให้เปิดแต่ละกฎธุรกิจ เวิร์กโฟลว์ คอลัมน์ที่คำนวณได้ และคอลัมน์ค่าสะสมที่ขึ้นอยู่กับคอลัมน์ที่คุณเปลี่ยน ตรวจทานข้อมูล บันทึก เพื่อให้แน่ใจว่า จะใช้วันที่ล่าสุด และคอลัมน์เวลาทำงาน และค่าที่
เปลี่ยนลักษณะการทำงานในระหว่างการนำเข้าโซลูชัน
เมื่อคุณนำเข้าโซลูชันที่ประกอบด้วยคอลัมน์วันที่ที่มีลักษณะการทำงาน เวลาท้องถิ่นของผู้ใช้ คุณสามารถเปลี่ยนแปลงลักษณะการทำงานเป็น เฉพาะวันที่ หรือ ไม่ผูกกับโซนเวลา
หมายเหตุ
คุณสามารถเปลี่ยนลักษณะการทำงานของคอลัมน์ เฉพาะวันที่ หรือ วันที่และเวลา ที่มีการจัดการที่มีอยู่ได้เท่านั้นหากคุณเป็นผู้เผยแพร่ หากต้องการเปลี่ยนแปลงฟิลด์เหล่านี้ ต้องอัปเกรดโซลูชันที่เพิ่มคอลัมน์ เฉพาะวันที่ หรือ วันที่และเวลา ข้อมูลเพิ่มเติม: อัปเกรดหรืออัปเดตโซลูชัน
ป้องกันการเปลี่ยนแปลงลักษณะการทำงาน
ถ้าคุณกำลังกระจายคอลัมน์วันที่แบบกำหนดเองในโซลูชันที่มีการจัดการ ป้องกันไม่ให้ผู้ใช้ใช้โซลูชันของคุณจากการเปลี่ยนแปลงลักษณะการทำงาน โดยการตั้งค่าคุณสมบัติที่มีการจัดการ CanChangeDateTimeBehavior เป็น เท็จ ข้อมูลเพิ่มเติม: ตั้งค่าคุณสมบัติที่มีการจัดการสำหรับคอลัมน์
ตัวดำเนินการในการสอบถามวันที่และเวลาไม่ได้รับการสนับสนุนสำหรับลักษณะการทำงานเฉพาะวันที่
ตัวดำเนินการในการสอบถามที่เกี่ยวข้องกับวันที่และเวลาต่อไปนี้ไม่ถูกต้องสำหรับลักษณะการทำงาน เฉพาะวันที่ มีข้อผิดพลาดข้อยกเว้นการดำเนินการไม่ถูกต้องจะเกิดขึ้นเมื่อหนึ่งในตัวดำเนินการเหล่านี้จะใช้ในการสอบถาม
- เก่ากว่า X นาที
- เก่ากว่า X ชั่วโมง
- X ชั่วโมงที่ผ่านมา
- X ชั่วโมงถัดไป
ดูเพิ่มเติม
แก้ไขปัญหาของวันที่และเวลาในแอปแบบจำลอง
สร้างและแก้ไขคอลัมน์
กำหนดคอลัมน์ที่มีการคำนวณเพื่อการคำนวณด้วยตนเองโดยอัตโนมัติ
คุณสมบัติที่มีการจัดการของคอลัมน์
คุณสมบัติที่มีการจัดการ
บล็อก: การทำงานกับโซนเวลาใน Dataverse
กำหนดค่าลักษณะการทำงานและรูปแบบของคอลัมน์วันที่และเวลาโดยใช้โค้ด
หมายเหตุ
บอกให้เราทราบเกี่ยวกับภาษาที่คุณต้องการในคู่มือ ทำแบบสำรวจสั้นๆ (โปรดทราบว่าแบบสำรวจนี้เป็นภาษาอังกฤษ)
แบบสำรวจนี้ใช้เวลาทำประมาณเจ็ดนาที ไม่มีการเก็บข้อมูลส่วนบุคคล (คำชี้แจงสิทธิ์ส่วนบุคคล)